2016-04-07 25 views
2

我修改了asp.net mvc 6的默認登錄名,並希望添加一個帶有taghelper select的下拉列表,但它似乎會產生錯誤的輸出。ASP.Net 5 MVC6選擇taghelper產生錯誤的輸出

我增加了選擇 - taghelper元素,所以它看起來是這樣的:將選擇標籤後

<form asp-controller="Account" asp-action="Register" method="post" class="form-horizontal" role="form"> 
    <div class="form-group"> 
     <label asp-for="Tenant" class="col-md-2 control-label"></label> 
     <div class="col-md-10"> 
      <select asp-for="Tenant" asp-items="ViewBag.Tenants" class="form-control" /> 
      <span asp-validation-for="Tenant" class="text-danger"></span> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-md-offset-2 col-md-10"> 
      <button type="submit" class="btn btn-default">Register</button> 
     </div> 
    </div> 
</form> 

,不再被顯示的提交按鈕 - 顯示在下拉列表,但不包含任何數據,但使用斷點Viewbag.Tenants包含數據。 當我用select標籤刪除第一個div時,顯示按鈕。

任何想法這裏錯了什麼?

+0

你在ViewBag之前用過@嗎? –

+0

@JoeAudette謝謝,試過,沒有區別.. –

回答

1

您的標記錯誤。請勿使用自行關閉select標記。有一個明確的結束標籤。

這應該工作。

<select asp-for="Tenant" asp-items="ViewBag.Tenants" class="form-control"></select> 
+1

啊,你是個天才!謝謝! :) –

+0

我試過這個,很奇怪,我得到的列表呈現多個=「多個」作爲選擇列表,而不是一個下拉列表? –

+0

@MarkRedman它取決於用於'asp-for'的屬性的類型如果它是一個數組類型('int []'/'string []'),它將被渲染爲多個屬性 – Shyju