Asp.net-Mvc

使下拉列表只讀但仍送出其值

  • June 15, 2017

我在 ASP.NET MVC 中使用 Html.DropDownList 幫助程序,我想讓它成為只讀的。不幸的是,我還需要它在表單文章上送出其值。

我發現(通過關於 SO 的類似問題)使用以下格式將使下拉列表變為只讀,但它不會提供對控制器內控制項值的訪問。

Html.DropDownList("Types", Model.Types, new { @disabled = "disabled" })

有誰知道如何使用 ASP.NET MVC 使下拉列表只讀或禁用,同時還允許它通過表單發布送出?

這是 Web 瀏覽器端的預期行為 - 送出表單時,禁用的控制項不會將其數據發佈到伺服器。

您可以通過在頁面上放置一個包含值的隱藏欄位來偽造它 - 只需確保驗證數據即可。或者在送出操作發生之前使用 javascript 啟用該欄位。

如果您正在禁用一個欄位,但仍然在頁面上顯示它的某個值,那麼必須有一種方法可以讓您知道該值,而無需將其從瀏覽器發送回伺服器。

引用自:https://stackoverflow.com/questions/2858511