Razor kullanarak MVC View için DropDownList'den seçilen değeri bağlama

Çalıştığım bir Görünümüm var ancak DropDownList'ten seçilen değeri nasıl alacağımı anlayamıyorum:

@model IEnumerable<trP_MVC_Prototype.Models.usp_TM_Select_ShortNameResult>
@using System.Web;
@using System.Web.WebPages;
@using System.Web.Mvc;  

@{
    ViewBag.Title = "Details";
}
@using (Html.BeginForm("Details", "ProgramSummary", FormMethod.Post, new { id = "Details" }))
{
<div id="main" style="background-color:White">
        

You are logged on as: @ViewBag.Message DrpDwnLst @Html.DropDownList("Short_Title", new SelectList(Model, "short_title", "short_title"), "--Select One--"). @Html.ActionLink("Select","Details",new { Shrt_title = ""}) @Html.ActionLink("Create Program Summary", "Index", "User_Guide") @Html.ActionLink("Edit Program Summary", "Index", "User_Guide") @Html.ActionLink("Delete TRP", "Index", "User_Guide")

Select TRP to View

______________________________________________________________________________________________________________________________________________________________________________

}

The DropDownList displays correctly but I don't know how to return the Selected value in the ActionLink. In the action link the third parameter passes the value back to the controller it currently has "" but I would like to figure out how to reference the selected value instead.

1
Seni takip etmiyorum Başlangıçta, seçtiğiniz değeri DropDown'ınızdan almak istediğinizi belirtin, ancak sonunda eylem linki hakkında konuşursunuz.
katma yazar Paulo Abreu, kaynak
katma yazar Darin Dimitrov, kaynak
Seçili değeri, şu anda item.short_title gibi bir şeyle "yeni {Shrt_title =" "}" değiştiriliyor "ifadesini yazan actionlink'in üçüncü parametresine döndürmek istiyorum
katma yazar user1011441, kaynak
Aynı problem. Bu mümkün değilse bana bildirin. Sorunu yeniden düşünürdüm. @Darin Dimitrov
katma yazar user1011441, kaynak
Eğer aptal olduğumu düşünüyorsanız, lütfen bana bildirin. Ben rahatsız değilim, bir cevap istiyorum. Teşekkürler Bruce
katma yazar user1011441, kaynak

2 cevap

Bunu jQuery ile yapabilirsiniz. Bir öğeden href'i değiştirmek için bu gönderiyi görebilirsiniz. .

Ayrıca, açılır kutunuz için değişiklik etkinliğini de ele almanız gerekiyor:

$('#short_title').change(function() 
{
  //do someting here
});
0
katma

Bu benim cevabım

    @Html.DropDownList("short_name", ViewBag.DetailsList as SelectList, "--Select One--", new { onchange = "dofunction(this.form.short_name);" });
    function dofunction(dropdown) {
        debugger;
        for (i = 0; i < 194; i++) {
            if (dropdown[i].selected == true) {
                var Shrt_ttls = dropdown[i].value.toString()
                //document.getElementById("shrtLst").value = Shrt_ttls;

                $.ajax({
                    url: "/ProgramSummary/Details?Shrt_titles=" + Shrt_ttls,                 
                    type: 'Post',                 
                    data: Shrt_ttls,                 
                    success: function(result) { 
                        alert( "Short Name is: " + Shrt_ttls);//process the results from the controller action                 
                    },             
                    error: function() {
                         alert ( "no deal");
                    }
                });  
            }
        }
        return true;
     }

Bu, JavaScript işlevinden, Index for Index için HTTPPost değerini döndürür. Teşekkür ederim, Bruce

0
katma