第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Html.DropdownListFor未設(shè)置選定值

Html.DropdownListFor未設(shè)置選定值

Html.DropdownListFor未設(shè)置選定值如何設(shè)置Html.DropDownListFor的選定值?我一直在網(wǎng)上看看,并且已經(jīng)看到它可以通過使用第四個參數(shù)來實現(xiàn),如下所示:@Html.DropDownListFor(m => m, new SelectList(Model, "Code", "Name", 0),  "Please select a country")我的選擇列表然后顯示如下:<select id="ShipFromCountries" name="ShipFromCountries">      <option value="">Please select a country</option>      <option value="GB">United Kingdom</option>      <option value="US">United States</option>      ...</select>但由于某種原因英國仍然被選中,但我想要“請選擇一個國家”進行選擇。誰知道我怎么能做到這一點?編輯我已經(jīng)更新了我的代碼,因為功能略有變化,但似乎仍然遇到這個問題。這就是我的看法:@Html.DropDownListFor(n => n.OrderTemplates, new SelectList(Model.OrderTemplates, "OrderTemplateId", "OrderTemplateName", 1), "Please select an order template")1是option我想要選擇的Id ,我也試過了文本,option但也沒有用。有任何想法嗎?
查看完整描述

3 回答

?
慕慕森

TA貢獻1856條經(jīng)驗 獲得超17個贊

您的代碼存在一些概念問題:

首先,

@Html.DropDownListFor(n => n.OrderTemplates, new SelectList(Model.OrderTemplates, "OrderTemplateId", "OrderTemplateName", 1), "Please select an order template")

使用DropDownListFor時,第一個參數(shù)是提交表單后存儲所選值的屬性。因此,在您的情況下,您應(yīng)該擁有SelectedOrderId模型的一部分或類似的東西,以便以這種方式使用它:

@Html.DropDownListFor(n => n.SelectedOrderId, new SelectList(Model.OrderTemplates, "OrderTemplateId", "OrderTemplateName", 1), "Please select an order template")

第二,

除了使用ViewBag之外,這沒有錯,但有更好的方法(將信息放在ViewModel中),當(dāng)您持有SelectList的ViewBag屬性時,存在“小錯誤”(或未預(yù)料到的行為)放置所選值的屬性的相同名稱。要避免這種情況,請在命名包含項目列表的屬性時使用其他名稱。

如果我是你,我會使用一些代碼來避免這個問題并編寫更好的MVC代碼:

視圖模型:

public class MyViewModel{
   public int SelectedOrderId {get; set;}
   public SelectList OrderTemplates {get; set;}

   // Other properties you need in your view}

控制器:

public ActionResult MyAction(){
   var model = new MyViewModel();
   model.OrderTemplates = new SelectList(db.OrderTemplates, "OrderTemplateId", "OrderTemplateName", 1);
   //Other initialization code

   return View(model);}

在您的視圖中:

@Html.DropDownListFor(n => n.SelectedOrderId, Model.OrderTemplates, "Please select an order template")


查看完整回答
反對 回復(fù) 2019-08-13
?
慕哥9229398

TA貢獻1877條經(jīng)驗 獲得超6個贊

對我來說,沒有工作,所以這樣工作:

控制器:

int selectedId = 1;ViewBag.ItemsSelect = new SelectList(db.Items, "ItemId", "ItemName",selectedId);

視圖:

@Html.DropDownListFor(m => m.ItemId,(SelectList)ViewBag.ItemsSelect)

JQuery的:

$("document").ready(function () {
    $('#ItemId').val('@Model.ItemId');});


查看完整回答
反對 回復(fù) 2019-08-13
?
慕田峪9158850

TA貢獻1794條經(jīng)驗 獲得超7個贊

當(dāng)您傳遞這樣的對象時:

new SelectList(Model, "Code", "Name", 0)

你說的是:Source(Model)和Key("Code")Text("Name")和選中的值0。您的屬性0源可能沒有值Code,因此HTML Helper將選擇第一個元素將實際selectedValue傳遞給此控件。


查看完整回答
反對 回復(fù) 2019-08-13
  • 3 回答
  • 0 關(guān)注
  • 970 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號