Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 MVC-在[HttpPost]方法中接收更改事件时选择的Dropdownlist值_Asp.net Mvc 2_Html Helper_Html.dropdownlistfor - Fatal编程技术网

Asp.net mvc 2 MVC-在[HttpPost]方法中接收更改事件时选择的Dropdownlist值

Asp.net mvc 2 MVC-在[HttpPost]方法中接收更改事件时选择的Dropdownlist值,asp.net-mvc-2,html-helper,html.dropdownlistfor,Asp.net Mvc 2,Html Helper,Html.dropdownlistfor,嘿。。 更改事件时如何在[HttpPost]方法中接收选定的Dropdownlist值?我总是用[HttpGet]方法接收它 <%: Html.DropDownListFor(model => model.TipTpa, ViewData[ArtikliKonstante.vdListaTipovaTPa] as IEnumerable<SelectListItem>, new { onchange = "location.href='/

嘿。。 更改事件时如何在[HttpPost]方法中接收选定的Dropdownlist值?我总是用[HttpGet]方法接收它

<%: Html.DropDownListFor(model => model.TipTpa, ViewData[ArtikliKonstante.vdListaTipovaTPa] as IEnumerable<SelectListItem>, 
                new { onchange = "location.href='/Artikli/PromjenaTipa? p='+this.value"})%>    
model.TipTpa,ViewData[ArtikliKonstante.vdlistatipovata]作为IEnumerable,
新的{onchange=“location.href=”/Artikli/PromjenaTipa?p=“+this.value”})%%>
如果我将我的方法声明为[HttpPost],我会得到一个错误,该操作不存在。有什么想法吗?
Thx

如果您希望调用正确的操作,则需要发布。在您的情况下,您只需重定向(window.location.href)即可发送GET请求

因此,您可以将下拉列表放置在表单中,并在选择更改时使用javascript提交表单:

<% using (Html.BeginForm("PromjenaTipa", "Artikli", FormMethod.Post, new { id = "myform" })) { %>
    <%: Html.DropDownListFor(
        model => model.TipTpa, 
        ViewData[ArtikliKonstante.vdListaTipovaTPa] as IEnumerable<SelectListItem>, 
        new { id = "tipTpa" }
    ) %>
<% } %>
这将把表单发布到
PromjenaTipa
操作中,您可以在其中读取所选值:

[HttpPost]
public ActionResult PromjenaTipa(string tipTpa)
{
    // tipTpa should contain the selected value
    ...
}
另一种可能是在变更事件中发送AJAX查询。在这种情况下,您不需要表单,因为您可以使用AJAX发送POST请求

[HttpPost]
public ActionResult PromjenaTipa(string tipTpa)
{
    // tipTpa should contain the selected value
    ...
}