3

有没有办法从视图访问 POST 值(不通过控制器)

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        @Html.TextBox("SomeValue")    
        <input type="submit" value="Submit" />
    </fieldset>
}

The value being posted is @SomeValue

@SomeValue的正确语法是什么

4

3 回答 3

1

我认为可以通过以下方式访问表单集合:

HttpContext.Current.Request.Form

...但为什么?它违背了 MVC 的目的。

于 2012-08-07T18:32:20.033 回答
0

如果你需要一些客户端的东西,你应该使用 JavaScript 而不是将逻辑放在视图中。观点应该是愚蠢的。

更换线路:

@Html.TextBox("SomeValue")

@Html.TextBox("SomeValue", new {Id = "somevalue"})

一旦使用 JQuery 呈现视图,将允许您访问该值,如下所示:

$("#somevalue").val()

高温高压

于 2012-08-07T18:32:05.457 回答
0

如果您想知道 TextBox 的值是什么,在它进入控制器之前,您可以通过 javascript 获取它。

将您的 HTML 更改为具有 Span 以便我们稍后可以更改它的内容

发布的价值是

覆盖您的提交行为并获取它

<script type="Text/javascript">
  $(function(){
        $("form").submit(function(e){
           e.preventDefault();
           $("#spanVal").html($("#YourTextBoxID").val());
        });
  });

</script>

这不会真正将表单提交给HTTPPOST控制器的操作方法,而是在跨度内的文本框中显示值。

于 2012-08-07T18:32:06.247 回答