Razorを使用してMVCビューのDropDownListから選択した値をバインドする

私はビューが動作しますが、DropDownListから選択した値を取得する方法を理解できません:

@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
私はあなたに従っていない。最初はDropDownから選択した値を取得したいと述べていますが、最後にアクションリンクについて説明します。
追加された 著者 Paulo Abreu,
追加された 著者 Darin Dimitrov,
追加された 著者 RickAndMSFT,
私は現在選択されている値を、actionlinkの3番目のパラメータに返すとします。これは、 "new {Shrt_title =" "}" "item.short_title
追加された 著者 user1011441,
それは同じ問題です。これが不可能なら私に知らせてください。私はその問題に言い返すと思った。 @ダーリン・ディミトロフ
追加された 著者 user1011441,
私がばかだと思うなら、私に知らせてください。私は怒っていません。答えがほしいです。ありがとう、ブルース
追加された 著者 user1011441,

2 答え

あなたは jQuery でそれを行うことができます。要素からhrefを変更するには、投稿

ドロップダウンの変更イベントも処理する必要があります。

$('#short_title').change(function() 
{
  //do someting here
});
0
追加された

これは私の答えです

    @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;
     }

これは、javascript関数からIndexのHTTPPostに値を返します。 ありがとうございました、 ブルース

0
追加された