Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mendapatkan Nilai Terpilih DropDownList dalam Pengawal MVC?

Bagaimana untuk Mendapatkan Nilai Terpilih DropDownList dalam Pengawal MVC?

Barbara Streisand
Lepaskan: 2025-01-14 11:44:14
asal
932 orang telah melayarinya

How to Retrieve a DropDownList's Selected Value in an MVC Controller?

Mendapatkan kembali Nilai DropDownList yang Dipilih dalam Pengawal MVC Anda

Panduan ini menangani cabaran biasa untuk mengakses nilai yang dipilih daripada DropDownList dalam pengawal MVC.

Masalahnya: Menangkap pilihan pengguna dengan cekap daripada DropDownList dalam tindakan pengawal MVC anda.

Tindakan Pengawal (Pendekatan Awal):

Kod berikut menunjukkan percubaan awal menggunakan FormCollection:

<code class="language-csharp">[HttpPost]
public ActionResult ShowAllMobileDetails(MobileViewModel MV)
{           
   string strDDLValue = Request.Form["ddlVendor"].ToString(); // Using FormCollection
   return View(MV);
}</code>
Salin selepas log masuk

Model:

<code class="language-csharp">public class MobileViewModel 
{
    public List<tbInsertMobile> MobileList;
    public SelectList Vendor { get; set; }
}</code>
Salin selepas log masuk

Paparan (Sebahagian):

<code class="language-html"><table>
    <tr>
        <td>Mobile Manufacturer</td>
        <td>@Html.DropDownList("ddlVendor", Model.Vendor, "Select Manufacturer")</td>
    </tr>
</table></code>
Salin selepas log masuk

Penyelesaian:

Kaedah 1: Menggunakan Request.Form atau FormCollection (Kurang Disyorkan):

Walaupun berfungsi, mengakses terus Request.Form secara amnya kurang diutamakan kerana pergantungannya pada manipulasi rentetan dan kekurangan keselamatan jenis. Kod di atas sudah menunjukkan kaedah ini.

Kaedah 2: Pengikatan Model (Disyorkan):

Pendekatan ini memanfaatkan keupayaan pengikatan model MVC untuk penyelesaian yang lebih bersih dan boleh diselenggara.

  1. Tingkatkan Model Anda: Tambahkan harta pada MobileViewModel anda untuk secara khusus memegang nilai vendor yang dipilih:
<code class="language-csharp">public class MobileViewModel 
{
    // ... existing properties ...
    public string SelectedVendor { get; set; }
}</code>
Salin selepas log masuk
  1. Kemas kini Pandangan Anda: Gunakan Html.DropDownListFor untuk mengikat DropDownList kepada sifat SelectedVendor baharu:
<code class="language-html">@Html.DropDownListFor(m => m.SelectedVendor, Model.Vendor, "Select Manufacturer")</code>
Salin selepas log masuk
  1. Tindakan Pengawal Ditapis: Kini, nilai yang dipilih akan diisi secara automatik dalam harta MV.SelectedVendor:
<code class="language-csharp">[HttpPost]
public ActionResult ShowAllMobileDetails(MobileViewModel MV)
{           
   string strDDLValue = MV.SelectedVendor;
   return View(MV);
}</code>
Salin selepas log masuk

Kaedah 3: Mendapatkan Kedua-dua Nilai dan Teks (Lanjutan):

Untuk mendapatkan kedua-dua nilai yang dipilih dan teks yang sepadan, anda memerlukan medan tersembunyi dan beberapa jQuery.

  1. Lanjutkan Model: Tambahkan sifat untuk menyimpan teks vendor yang dipilih:
<code class="language-csharp">public class MobileViewModel 
{
    // ... existing properties ...
    public string SelectedVendor { get; set; }
    public string SelectedVendorText { get; set; }
}</code>
Salin selepas log masuk
  1. Tambah jQuery: Sertakan jQuery dalam paparan anda dan gunakannya untuk mengemas kini medan tersembunyi apabila pilihan DropDownList berubah:
<code class="language-javascript">$(function () {
    $("#SelectedVendor").on("change", function () {
        $("#SelectedVendorText").val($(this).find(":selected").text());
    });
});</code>
Salin selepas log masuk
  1. Tambah Medan Tersembunyi pada Paparan:
<code class="language-html">@Html.DropDownListFor(m => m.SelectedVendor, Model.Vendor, "Select Manufacturer")
@Html.HiddenFor(m => m.SelectedVendorText)</code>
Salin selepas log masuk

Kini, kedua-dua MV.SelectedVendor (nilai) dan MV.SelectedVendorText (teks) akan tersedia dalam pengawal anda. Ingat untuk memasukkan perpustakaan jQuery dalam paparan anda. Ini adalah penyelesaian yang paling mantap.

Ingat untuk memilih penyelesaian yang paling sesuai dengan keperluan dan gaya pengekodan anda. Pengikatan model (Kaedah 2 dan 3) biasanya disyorkan untuk kejelasan dan kebolehselenggaraannya.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Terpilih DropDownList dalam Pengawal MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan