如何通过ASP.NET MVC 4中的任何操作方法获取模型值?

时间:2015-03-26 14:53:05

标签: asp.net-mvc

我希望从其他操作方法

中的视图中获取价值
[HttpGet]
        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Index(Editor e)
        {
            Response.Write(e.content );
            return View();
        }

        public ActionResult Sample(Editor e)
        {
            Response.Write(e.content+"dd"); //it does not work,only dd print
            return View();
        }

在Index方法的情况下,它的工作正确。 但我想在样本行动方法中使用相同的值。 这是我的索引视图

@using (Html.BeginForm()) {




        <div class="editor-label">
            @Html.LabelFor(model => model.content)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.content)

        </div>

        <p>
            <input type="button"   style="margin-left:35px" onclick="@("window.location.href='" + @Url.Action("Sample", "Home") + "'");" />
        </p>

}

我想当我点击按钮时,它应该去示例方法并获取或访问Editor的值。但它不起作用。它转到示例方法但不访问Editor的值。 请帮忙。

1 个答案:

答案 0 :(得分:1)

执行window.location.href = ...时,您将启动HTTP GET到控制器的Sample方法。这不会提交表单,因此模型Editor e将为空。

有多种方法可以对不同的操作进行发布,例如,您可以在html.BeginForm参数中指定不同的控制器和操作。

如果您想要一个导致Index操作的按钮和另一个导致Sample操作的按钮,您可以指定如下按钮:

<button type="submit" formaction="@Url.Action("Sample", "Home")">Post to Sample</button>