2014-03-25 12 views
0

我在創建視圖中有簡單的組合框。保存數據後,當我進入編輯模式時,我想顯示保存在組合框中的項目。以下是創建視圖中組合框的代碼:如何在MVC視圖的編輯模式下在組合框中顯示保存的項目?

<select> 
    <option value="" disabled="disabled" selected="selected">Select Vendor</option> 
    <option value="1">Jindal Ltd</option> 
    <option value="2">ABC Enterprise</option> 
    <option value="3">Sun Manufacture</option> 
</select> 

創建表單的屏幕截圖。

enter image description here

現在,我應該寫在控制器和視圖中什麼樣的代碼,這樣我就可以顯示在組合框中保存的項目?

下面是編輯模式的屏幕截圖,我想在組合框中顯示保存的項目。

enter image description here

+0

你需要設置它在基於模型和應用模型視圖。你的控制器和視圖代碼在哪裏? –

+0

您視圖中的代碼只是純HTML,它沒有任何ASP.NET MVC結構。你需要添加你的控制器和查看代碼。 –

回答

1

您可以使用jQuery來設置選定值類似以下。也正如@Guillelon所說,我們無法完全看到視圖代碼,因此我們很容易看到您的視圖是如何呈現的,並提供答案。

下面的例子是純html。

@{ 
    ViewBag.Title = "Home Page"; 
} 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#test").val("2"); 
    }); 
</script> 
</div> 
<select id="test"> 
    <option value="1">Test1</option> 
    <option value="2">Test2</option> 
    <option value="3">Test3</option> 
</select> 

如果您使用的是強類型模型,它看起來像下圖。

@model MVC3Stack.Models.MyModel 
@{ 
    ViewBag.Title = "Home Page"; 
} 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#test").val('@Model.SelectedValue'); 
    }); 
</script> 
</div> 
<select id="test"> 
    <option value="1">Test1</option> 
    <option value="2">Test2</option> 
    <option value="3">Test3</option> 
</select> 

還有一例子

索引操作方法

public ActionResult Index() 
{ 
    MyModel mod = new MyModel { SelectedValue=2 }; 
    return View(mod); 
} 

和視圖

@model MVC3Stack.Models.MyModel 
@{ 
    ViewBag.Title = "Home Page"; 
    List<SelectListItem> lst = new List<SelectListItem>(); 
    lst.Add(new SelectListItem() { Value="1", Text="test1" }); 
    lst.Add(new SelectListItem() { Value = "2", Text = "test2" }); 
    lst.Add(new SelectListItem() { Value = "3", Text = "test3" }); 

} 
<h2>@ViewBag.Message</h2> 
</div> 
@Html.DropDownListFor(m => m.SelectedValue, lst); 
+0

非常感謝您的回答......我會嘗試添加它...我對組合框的東西感到困惑......爲什麼它如此複雜?如果我有一個來自數據庫的列表,並且想要在編輯模式下顯示它,該怎麼辦? – bnil

+0

這不是一個問題。我給你看的清單只是一個例子。如果你從數據庫中得到一個列表,你只需要將它轉換成List 並將它作爲第二個參數傳遞給DropDownListFor()輔助函數。 – Nilesh

相關問題