有没有办法从View访问POST值(不经过控制器)
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
@Html.TextBox("SomeValue")
<input type="submit" value="Submit" />
</fieldset>
}
The value being posted is @SomeValue
@SomeValue
的正确语法是什么答案 0 :(得分:1)
我认为表格集可以通过以下方式访问:
HttpContext.Current.Request.Form
......但为什么呢?它违背了MVC的目的。
答案 1 :(得分:0)
如果你需要客户端的东西,你应该使用JavaScript而不是在视图中放置逻辑。意见应该是愚蠢的。
更换一行:
@Html.TextBox("SomeValue")
使用
@Html.TextBox("SomeValue", new {Id = "somevalue"})
一旦使用JQuery呈现视图,就可以访问该值,如下所示:
$("#somevalue").val()
HTH
答案 2 :(得分:0)
如果您想知道TextBox的值是什么,在它进入控制器之前,您可以通过javascript获取它。
将您的HTML更改为具有Span,以便我们稍后可以更改其内容
发布的价值是
覆盖您的提交行为并获取
<script type="Text/javascript">
$(function(){
$("form").submit(function(e){
e.preventDefault();
$("#spanVal").html($("#YourTextBoxID").val());
});
});
</script>
这不会真正将表单提交给控制器的HTTPPOST
操作方法,但会在范围内的文本框中显示该值。