0

我想我几乎在那里,但由于某种原因,下拉列表默认为列表中的第一项,而不是我传递的值(defaultChoice) 。有任何想法吗?MVC将@ Html.DropDownListFor的选定值设置为查询字符串值

@{ 
    var defaultChoice = Request.QueryString["id"]; 
    var choices = new SelectList(ViewBag.Choices, "myItemId", "myProductName", defaultChoice); 
} 


@Html.DropdownListFor(m =>m.myItemIdPrimary, choices) 

最后的代码,但它产生和错误:

string defaultChoice = Request.QueryString["id"]; 
int idVal = int.Parse(defaultChoice); 
var choices = new SelectList(ViewBag.Choices, "myItemId", "myProductName", idVal); 

Model.myItemIdPrimary = idVal; 

我得到的错误:值不能为空(在INT idVal = int.Parse(defualtChoice)线)

回答

1

您可以将值分配给模型。

像这样

@{ 
    var defaultChoice = Request.QueryString["id"]; 
    var choices = new SelectList(ViewBag.Choices, "myItemId", "myProductName", defaultChoice); 
    Model.myItemIdPrimary=defaultChoice; 
} 
+0

太谢谢你了!你摇滚!我还有一个问题,但我会创建另一个帖子。 – ADubb

+0

不说感谢给予投票回答 –

相关问题