使用 ASP.NET MVC 进行模型绑定,将数据输入到控制器

发布于 2024-08-30 08:48:19 字数 633 浏览 1 评论 0原文

伙计们,这是非常基本的。

我有一个视图,其中包含 2 个用于输入的文本字段和一个提交按钮

<%using (Html.BeginForm("DateRetrival", "Home", FormMethod.Post)){ %>    
<%=Html.TextBox("sday")%>  
<%=Html.TextBox("eday")%>
<input type="submit" value="ok" id="run"/>
<% }%>

,我想要绑定数据输入的以下控制器操作如下

    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult DateRetrival()
    {
        return View();
    }


    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult DateRetrival(string submit)
    {


        return null;
    }

当我调试它并查看操作方法参数时,该值为 null。当我在两个文本框中输入值并单击提交方法时。

Pretty Basic one here guys.

I have a View which holds 2 textfields for input and a submit button

<%using (Html.BeginForm("DateRetrival", "Home", FormMethod.Post)){ %>    
<%=Html.TextBox("sday")%>  
<%=Html.TextBox("eday")%>
<input type="submit" value="ok" id="run"/>
<% }%>

the following controller action which I want to bind the data input is as follows

    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult DateRetrival()
    {
        return View();
    }


    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult DateRetrival(string submit)
    {


        return null;
    }

When I debug this and look in the action methods parameter, the value is null. When I've entered values in both textboxes and and clicked the submit method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

随风而去 2024-09-06 08:48:19

您可能想做这样的事情:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult DateRetrival(string sday, string eday)
    {

        return null;
    }

理想情况下,尽管您可能希望将模型传递给控制器​​:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult DateRetrival(DateModel dates)
    {
        var date1 = dates.sday;
        var date2 = dates.eday;
        return null;
    }

请参阅http://msdn.microsoft.com/en-us/library/dd394711.aspx

You probably want to do something like this:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult DateRetrival(string sday, string eday)
    {

        return null;
    }

Ideally, though you probably want to be passing a model to your controllers:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult DateRetrival(DateModel dates)
    {
        var date1 = dates.sday;
        var date2 = dates.eday;
        return null;
    }

See http://msdn.microsoft.com/en-us/library/dd394711.aspx

三生一梦 2024-09-06 08:48:19

添加参数以捕获每个输入字段值。

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult DateRetrival(string sday, string eday)
{
    return null;
}

Add parameters to catch each input field value.

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult DateRetrival(string sday, string eday)
{
    return null;
}
雨巷深深 2024-09-06 08:48:19

尝试:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult DateRetrival(string sday, string eday, string submit)
{
    return null;
}

如果您想要提交按钮值

<input type="submit" value="ok" id="run" name="submit"/>

如果您想发布值,则必须设置 name 属性。 Html.TextBox 自动从参数设置名称。

Try:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult DateRetrival(string sday, string eday, string submit)
{
    return null;
}

and if you want sumbit button value

<input type="submit" value="ok" id="run" name="submit"/>

If you want to have value posted, name attribute has to be set. Html.TextBox automatically sets name from parameter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文