我正在尝试使用Razor将表单中的数据附加到我的页面的Url(添加查询字符串)。我已经在ASP.NET Web Controls中完成了这个,但如果可能的话,我更愿意在Razor中这样做?
这是我的Razor脚本的一个非常基本的版本,但目前'@test'变量在帖子上是空的:
@{
<form id="test" method="post">
<input type="text" />
<input type="submit" value="Submit" />
</form>
if(IsPost){
var test = Request.Form["test"];
Response.Redirect(@Model.Url + "?test=" + @test);
}
}
作为旁注,有没有一种方法可以在没有POST方法的情况下实现这一目标?
答案 0 :(得分:3)
据我了解,您希望在测试变量中添加输入值。您应该为input [text]定义id,或者您应该将其更改为
网页:强>
@using (Html.BeginForm("ActionName", "ControllerName", FormMethod.GET, null))
{
<input type='text' name'test' id='test' />
<input type="submit" value="Submit" />
}
或您的代码
@{
<form method="get" action="@Model.Url">
<input type="text" name="test" id="test" />
<input type="submit" value="Submit" />
</form>
}
P.S。我不清楚你的代码,因为你设置了POST方法并且想要处理GET方法。