C# 操作未将参数传递给索引
在我的控制器中,我有以下代码:C# 操作未将参数传递给索引,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,在我的控制器中,我有以下代码: public ActionResult Index(int? videoId, int languageId = 0) { //Some code } 然后在我的.chtml页面中,我这样引用它: @using (Html.BeginForm("Index", "VideoLanguage", FormMethod.Post)) { @Html.Hidden("videoId",
public ActionResult Index(int? videoId, int languageId = 0)
{
//Some code
}
然后在我的.chtml页面中,我这样引用它:
@using (Html.BeginForm("Index", "VideoLanguage", FormMethod.Post))
{
@Html.Hidden("videoId", Model.VideoId)
@Html.Hidden("videoLanguageId", Model.SelectedLanguage.LanguageId)
<div>
@Html.DropDownListFor(model => model.SelectedLanguage.LanguageId, ViewData["LanguageId"] as SelectList)
</div>
<div>
<a href="@Url.Action("Index", "VideoLanguage",new { videoId = Model.VideoId, languageId = Model.SelectedLanguage.LanguageId })" class="linkbutton">Add Language</a>
</div>
... code keeps going
@使用(Html.BeginForm(“Index”,“VideoLanguage”,FormMethod.Post))
{
@Html.Hidden(“videoId”,Model.videoId)
@隐藏(“videoLanguageId”,Model.SelectedLanguage.LanguageId)
@Html.DropDownListFor(model=>model.SelectedLanguage.LanguageId,ViewData[“LanguageId”]作为SelectList)
…代码一直在运行
因此,当我单击按钮时,从下拉列表中为LanguageId选择的值没有传递。原始值是。
<a href="@Url.Action("Index", "VideoLanguage",new { videoId = Model.VideoId, languageId = Model.SelectedLanguage.LanguageId })" class="linkbutton">Add Language</a>
在页面加载时设置,因此HTML中的值将硬编码。您需要做的是在Javascript中设置超链接参数或使用:
<input type="submit" value="Index" />
请参见尝试以下操作:
@using (Html.BeginForm("Index", "VideoLanguage", FormMethod.Post, new { videoId = Model.VideoId, languageId = Model.SelectedLanguage.LanguageId }))
{
....
}
您应该将参数传递给@Html.BeginForm助手,然后提交表单
@using (Html.BeginForm("Index", "VideoLanguage", FormMethod.Post, new { videoId = Model.VideoId, languageId = Model.SelectedLanguage.LanguageId }))
{
@Html.Hidden("videoId", Model.VideoId)
@Html.Hidden("videoLanguageId", Model.SelectedLanguage.LanguageId)
<div>
@Html.DropDownListFor(model => model.SelectedLanguage.LanguageId, ViewData["LanguageId"] as SelectList)
</div>
<div>
<input type="submit" value="Add Language"/>
</div>
... code keeps going
}
你做得不对。你能在这里发布你模型的代码吗?如果你这样做,我会告诉你如何正确地做。这个答案帮助我理解了问题所在。谢谢。
public ActionResult Index()
{
//Here just get a view
}
[HttpPost]
public ActionResult Index(int? videoId, int languageId = 0)
{
//Here code to save in database
}