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
 
