- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想构建一个 Sender-Receiver,每个都有两个 PartialView,并通过 Controller 中的发送方法连接它们。 Ajax 操作调用需要必须重新呈现的 div 的 Id。但我希望发送方与接收方完全分离。
我可以在不使用 AjaxOptions.UpdateTargetId 的情况下重新呈现 PartialView(例如在 Controller 本身中)吗?
想法是允许多个接收者连接到一个发送者(类似于 WebParts 机制)。
索引 View :
@{
ViewBag.Title = "Test Ground";
var sender = (MVCPortalViewModel.Models.SenderModel)ViewBag.Model.PortletModels["Sender"];
var receiver = (MVCPortalViewModel.Models.ReceiverModel)ViewBag.Model.PortletModels["Receiver"];
}
<p>@Html.Partial("SenderPartView", sender)</p>
<p>@Html.Partial("ReceiverPartView", receiver)</p>
发件人 View :
@model MVCPortalViewModel.Models.SenderModel
@using (Ajax.BeginForm("ApplyColor", "Test", new { Color = @Model.Color }, new AjaxOptions { UpdateTargetId = @ViewBag.SenderDivId, HttpMethod = "Post" }))
{
<div id="senderPartDiv" style="border: 1px solid black;">
<div style="background-color: @Model.Color">
<h2>@Model.Title</h2>
</div>
<p>Hallo @Html.ViewContext.HttpContext.User.Identity.Name</p>
<p>
@Html.Editor("Color")
<input type="submit" value="Apply Color" />
</p>
<p>
@Ajax.ActionLink("Send Color", "SendColor", new { Color = @Model.Color }, new AjaxOptions { UpdateTargetId = @ViewBag.ReceiverDivId, HttpMethod = "Post" })
</p>
</div>
}
接收者 View :
@model MVCPortalViewModel.Models.ReceiverModel
<div id="receiverPartDiv" style="border: 1px solid black;">
<h2 style="background-color: @Model.Color">@Model.Title</h2>
<p>Color: @Model.Color</p>
</div>
Controller :
public class TestController : Controller
{
public ActionResult Index()
{
ViewBag.Model = Model;
ViewBag.ReceiverDivId = "receiverPartDiv";
ViewBag.SenderDivId = "senderPartDiv";
return View();
}
public ActionResult SendColor(string Color)
{
var receiverModel = ((ReceiverModel)Model.PortletModels["Receiver"]);
receiverModel.Color = Color;
ViewBag.ReceiverDivId = "receiverPartDiv";
ViewBag.SenderDivId = "senderPartDiv";
return PartialView("ReceiverPartView", receiverModel);
}
}
最佳答案
除了客户端 JQuery 方法之外,我想出了一个使用 RenderAction 和一个单独的接收器 Controller 的解决方案。
索引 View :
@model MVCPortalViewModel.Models.SenderModel
<p>@Html.Partial("Sender", Model)</p>
<p>
@{ Html.RenderAction("Receive1", "Receiver", Model); }
@{ Html.RenderAction("Receive2", "Receiver", Model); }
</p>
发件人局部 View :
@model MVCPortalViewModel.Models.SenderModel
@using (@Html.BeginForm(new { Color = @Model.Color }))
{
<h2 style="background-color: @Model.Color;">@Model.Title</h2>
<p>
Send Color:
@Html.Editor("Color")
<input type="submit" value="Send Color" id="sendButton" />
</p>
}
接收器局部 View :
@model MVCPortalViewModel.Models.ReceiverModel
<h2 style="background-color: @Model.Color">@Model.Title</h2>
<p>
Color:
@Html.Display("Color")
</p>
Controller :
public class ChildActionController : Controller
{
public ActionResult Index(string Color)
{
SenderModel sender = new SenderModel { Title = "Sender", Color = "red" };
if (!string.IsNullOrEmpty(Color))
{
sender.Color = Color;
}
return View(sender);
}
}
用于连接的接收器 Controller :
public class ReceiverController : Controller
{
public ActionResult Receive1(SenderModel Sender)
{
ReceiverModel receiver = new ReceiverModel { Title = "Receiver1" };
receiver.Color = Sender.Color;
return PartialView("MessageReceiver", receiver);
}
public ActionResult Receive1(SenderModel Sender) { ... }
}
关于c# - 使用 Razor MVC3 的发送者-接收者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8257495/
我是iOS的新手,我想更新ViewDidLoad()函数中的文本。 这是我的按钮功能,单击按钮时会发生动画,并将值“1”添加到“resultText.text” - (IBAction)oneB
做了什么 我有一个名为 MyUser 的自定义 User 模型,如 full example for an custom user model 中所述。在文档和一个所谓的 UserProfile 上,
我有一个 NSMenu(应用程序停靠菜单),其中有几个具有相同操作的项目。 如何找出发件人项目(触发操作的项目)在其容器菜单中的索引? (我对标题不感兴趣,因为它可能是重复的) 这就是我尝试过的,但它
我正在开发一个带有 NSTableView 的 macOS 应用程序,我希望能够在用户选择一行时使用 Cmd+C 快捷键复制单元格的内容。我已经实现了该方法 copy(sender: AnyObjec
我一直在使用 MVVM 的 RelayCommand 成功地将操作绑定(bind)到 XAML,但是我的 ItemsControl 有一个小问题。
我的 C# Winform 面板中有一堆文本框。每行文本框的命名如下: tb1 tbNickName1 comboBox1 tb2 tbNickName2 comboBox2 tb3 tbNickNa
我有一个IBAction,例如: - (IBAction)thisThing:(id)sender { [self doSomething]; } 我想这样做(手动调用 IBAction): [s
我知道如何通过 zeromq 将字符串消息从 C++ 发送到 Python。 这是我知道的发送字符串消息的代码: C++ 发件人代码: void *context = zmq_ctx_new(); v
我是一名优秀的程序员,十分优秀!