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 – 如何在Visual Studio中添加NUnit
- ASP.NET缓存 方法和最佳实践
- 什么是在asp.net中301重定向更推荐的方法?
- asp.net – 以纯文本识别URL
- asp.net-mvc – Asp.net 5(vnext)是否可以使用?
- asp.net-mvc – 为什么DropDownListFor会在提交后丢失多个选
- asp.net-mvc – 使用jQuery.post将多个参数发布到MVC Contr
- asp.net-mvc – 获取ControllerName和ActionName并在Master
- 为什么ASP.NET回发时请求cookie属性为null或不正确?
- ASP.NET 2.0和4.0似乎在Forms身份验证中以不同方式处理根UR