将表单数据发布到Razor中的url

时间:2013-06-03 11:37:57

标签: c# asp.net .net razor umbraco

我正在尝试使用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方法的情况下实现这一目标?

1 个答案:

答案 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方法。