asp.net-mvc – 使用html.actionlink将模型从视图传递到控制器
|
我试图将模型数据从强类型视图获取到控制器.
@model WordAutomation.Models.Document
@{
ViewBag.Title = "Document";
}
<script type="text/javascript">
$(function () {
$("#dialog").dialog();
});
</script>
<h2>Document</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Document</legend>
<div class="editor-label">
@Html.LabelFor(model => model.ClientTitle)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ClientTitle)
@Html.ValidationMessageFor(model => model.ClientTitle)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ClientFullName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ClientFullName)
@Html.ValidationMessageFor(model => model.ClientFullName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ClientCustomSSN)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ClientCustomSSN)
@Html.ValidationMessageFor(model => model.ClientCustomSSN)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Preview","PreviewWordDocument","Home",null,new { id = "previewLink" })
</div>
<div id="dialogcontainer">
<div id="dialogcontent"><input type="submit" value="Create" /> </div>
</div>
@section Scripts {
<script type="text/javascript">
$(document).ready(function() {
$("#dialogcontainer").dialog({
width: 400,autoOpen:false,resizable: false,title: 'Test dialog',open: function (event,ui) {
$("#dialogcontent").load("@Url.Action("PreviewWordDocument","Home")");
},buttons: {
"Close": function () {
$(this).dialog("close");
}
}
});
$("#previewLink").click(function(e) {
e.preventDefault();
$("#dialogcontainer").dialog('open');
});
});
</script>
}
控制器: public ActionResult Document()
{
return View();
}
[HttpPost]
public ActionResult Document(WordAutomation.Models.Document model)
{
Models.Utility.EditWord word = new Models.Utility.EditWord();
word.EditWordDoc(model);
return View("Display",model);
}
public ActionResult PreviewWordDocument()
{
var image = Url.Content("~/Content/preview.jpeg");
return PartialView((object)image);
}
文档actionresult可以获取模型,但我想知道如何从actionlink获取将触发PreviewWordDocument操作的值. 提前谢谢,Laziale 解决方法表单只能使用提交按钮发布到其action属性给出的URL.但是,您可以使用jQuery post方法将表单数据发送到不同的URL,在发送之前手动验证表单. 因此,预览链接的单击事件处理程序将如下所示: $("#previewLink").click(function(e) {
e.preventDefault();
if($("#YourFormId").valid()){
$("#dialogcontainer").dialog('open');
}
});
在对话框的open函数中,您将使用jQuery ajax函数将表单(已经过验证)发布到预览控制器方法.响应将加载到dialogContent div中: $.ajax({
type: "POST",url: $("#previewLink").attr("href"),//the preview controller method
data: $("#YourFormId").serialize(),success: function (data) {
//load ajax response into the dialogContent div
$("#dialogcontent").html(data);
},error: function(xhr,error) {
$("#YourFormId").prepend('<div id="ajaxErrors"></div>')
.html(xhr.responseText);
}
});
现在,您现在可以在PreviewWordDocument操作中接收整个文档: public ActionResult PreviewWordDocument(WordAutomation.Models.Document model)
{
var image = Url.Content("~/Content/preview.jpeg");
return PartialView((object)image);
} (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – Mvc 3 Razor:使用部分部分视图?
- asp.net-mvc – ASP.NET MVC WebSite中的ERR_EMPTY_RESPONS
- asp.net – 将ViewState移出页面?
- asp.net-mvc-3 – 应该使用HTTP引用来验证还是令牌验证来防
- asp.net-mvc-3 – 依赖注入与多个类实现的接口
- asp.net-mvc – ASP.NET MVC 3 Treeview
- .net – 如何正确处理n层应用程序中的错误?
- asp.net-mvc – 如何使用ASP.NET MVC ApiController获取GET
- asp.net – coldfusion和.net上的单点登录
- asp.net-mvc-4 – MVC 4 Razor如果拆分div标签
- asp.net-mvc-3 – MVC3正确的方式来改变每个请求
- asp.net-mvc – 找到相同类型的两个实体之间的差
- ASP.NET MVC 4 JSON绑定到视图模型 – 嵌套对象错
- asp.net-mvc – 从MVC版本1迁移后,ASP.NET MVC 2
- asp.net-mvc – 神秘的ASP.NET MVC Action高延迟
- 如何利用ASP.net IIS 7.5中的浏览器缓存
- 设置ASP.NET页面不被缓存(客户端/服务器端取消缓
- asp.net – 转发器控件中的单选按钮列表
- asp.net – 在WebForms中调试时关闭捆绑/缩小
- asp.net-mvc – 如何组合两个dataTextFields的Se
