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 – 通过Web服务访问连接字符串
- kendo-ui – 剑道网格刷新(数据绑定两次)
- asp.net-mvc – 缩小ASP.NET MVC中的Action Filter属性
- ASP.NET成员:拒绝用户阻止CSS,页面无法正确呈现?
- 从ASP.Net中的sessionID获取会话对象
- asp.net-mvc-4 – AngularJs,DropZone.Js,MVC4 – 拖放,预览
- asp.net-mvc – 模型单元测试能否真正独立,如何[ASP.NET MV
- ASP.NET MVC编辑器模板和Html.EditorFor(…) – 如何消除类
- asp.net – 在我的网站中添加HttpModule时出现“500内部服务
- asp.net-mvc – 如何在我自己的自定义助手中使用ASP.NET MV