试图在 MVC4 (+Razor) 中实现一个表单,但提交按钮没有做任何事情。

Controller (应该得到 post Action ):

public class GeneralController
{
    [HttpPost]
    public ActionResult SearchResults(SearchParamsModel searchParams)
    {
        // doin some stuff here
        return View("SearchResultsView");
    }
}

查看 (.cshtml)
@model Models.SearchParamsModel
@using (Html.BeginForm("SearchResults", "General", FormMethod.Post))
{
    <section class="form-field">
        <input type="text" name="Property1" id="Property1" class="field field139 autocomplete-init-no-img" />
        <label for="Property1">value1</label>

        <form action="" method="post" class="clearfix">
            <input type="submit" value="some value" class="submit btn blue-btn special-submit" />
        </form>
    </section>
}

模型
public class SearchParamsModel
{
    public string Property1{ get; set; }
}

最佳答案

如果你只需要实现搜索不需要使用ViewModel,你可以发送带有搜索请求的字符串。它不应该是 Post 方法:

public ActionResult SearchResults(string searchString)
{
    //code for searching

    return View(yourmodel);
}

在 View 中
@using (Html.BeginForm())
{
    Searching: @Html.TextBox("SearchString")
    <input type="submit" value="Search"/>
}

关于asp.net-mvc-4 - MVC 4 表单 - 提交按钮不执行任何操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19173580/

10-12 01:13