0

mvc4のstoredprocedureを使用してデータベースの列の値をドロップダウンリストにバインドしたいこの.plzの処理方法がわかりません

私のモデルコードはこんな感じです

 public class dropdown
{
    string conn = System.Configuration.ConfigurationManager.ConnectionStrings["cnstr"].ConnectionString;
    [Required(ErrorMessage = "DomainName is Required")]
    [Display(Name = "DomainName")]
    public string DomainName { get; set; }
    public IEnumerable<dropdown> obj { get; set; }

    public List<dropdown> LoadDomain(dropdown model)
    {
        List<dropdown> obj = new List<dropdown>();
        using (SqlConnection con = new SqlConnection(conn))
        {

            try
            {
                con.Open();
                SqlCommand cmd = new SqlCommand("selectDomainName", con);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
                {
                    var data = new dropdown();
                    data.DomainName = ds.Tables[0].Rows[i]["DomainName"].ToString();
                    obj.Add(data);
                }
            }
            catch
            {
            }
        }
        return obj;

obj私はすべての列の値を取得しています

私のコントローラーコード

 public ActionResult binddropdown(dropdown model1)
    {

            var x = model1.LoadDomain(model1);

            ViewData. = x;

            return View(model1);

    }

私は方向を向いているかどうかわからない。私は初心者なので、plzは私を提案します。

4

1 に答える 1

2

ビューバッグにデータを設定してから、前面でデータをループしてドロップダウンボックスに値を割り当てることができます。ここでできることは、

public ActionResult binddropdown(dropdown model1)
{
        var x = model1.LoadDomain(model1);
        viewbag.MyData = x;
        return View();
}

フロントエンド側では、viewbagからデータをフェッチし(必要に応じてtypecastを使用して適切なタイプに変換します)、次のようにhtmlタグに割り当てることができます。

   @{
 var a = (yourobjtypecast) viewbag.MyData ;
<select name="drpId" id="drpId">
      <option value="yourvalue"> Select </option>

                @foreach (var te in a)
                {
                    <option value='@te.ID.ToString()'>@te.Nam </option>

                }
 </select>
}

この作品を願っています。

于 2013-03-21T12:40:58.937 に答える