如何根据MVC中数据库的值选择默认值 [英] How to get default value selected based on value from database in MVC

查看:76
本文介绍了如何根据MVC中数据库的值选择默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在数据库中有一个表,用于存储用户注册时用户的所有值。我想在编辑模式下在表单中检索这些值。我已成功获取列表中的所有值,并在表单的编辑模式下在文本框中可见。但是表格中也有一个下拉列表,我无法根据来自目前列表中的数据库的值来设置下拉列表的默认值。



DataLayer

  public 列表< registerviewmodel> GetUserdetail( string 角色)
{
尝试
{
cmd = new SqlCommand();
RegisterViewModel mvm;
List< registerviewmodel> lstMVM = new List< registerviewmodel>();
cmd.CommandText = getUserdetail;
if (!String.IsNullOrEmpty(Role))
{
cmd.Parameters.Add( @ Role,SqlDbType.NVarChar).Value = Role;
}
DataTable dtModel = dl.GetSpData(cmd);
foreach (DataRow dr in dtModel.Rows)
{
mvm = new RegisterViewModel();
mvm.Id = dr [ Id]。ToString();
mvm.CustomerName = dr [ 客户名称]。ToString();
mvm.Company = dr [ Company]。ToString();
mvm.Address = dr [ Address]。ToString();
mvm.City = dr [ City]。ToString();
mvm.RegionAbri = dr [ Region]。ToString();
mvm.PostalCode = dr [ 邮政编码]。ToString();
mvm.CountryId = int .Parse(dr [ CountryId]的ToString());
mvm.CountryName = dr [ CountryName]。ToString();
mvm.PhoneNumber = dr [ 电话号码]。ToString();
mvm.Fax = dr [ Fax]。ToString();
mvm.Email = dr [ Email]。ToString();
mvm.AckEmail = dr [ AckEmail]。ToString();
mvm.ApplicationDate = dr [ 申请日期]。ToString();
mvm.UserVerified = dr [ User Verified]。ToString();
mvm.UserStatus = dr [ 用户状态]。ToString();
mvm.CustomerNo = dr [ CustomerNo]。ToString();
mvm.Password = dr [ PasswordHash]。ToString();
mvm.Multiplier = dr [ 乘数]。ToString();
mvm.QuoteExpire = dr [ QuoteExpire]。ToString();
mvm.Freight = dr [ Freight]。ToString();
mvm.Rep = dr [ Rep]。ToString();
mvm.ISENumber = dr [ ISENumber]。ToString();
mvm.ReceiveMail = dr [ ReceiveMail]。ToString();
mvm.BuyingGroup = dr [ BuyingGroup]。ToString();
mvm.Comments = dr [ Comments]。ToString();
lstMVM.Add(mvm);
}
return lstMVM;
}
catch (例外e)
{
throw e;

}
}





控制器

  public  ActionResult UserMaintainance()

{
eQuoteDataAccess eqda = new eQuoteDataAccess();
RegisterViewModel model = new RegisterViewModel();
model.UserList = eqda.GetUserdetail(Role);
return 查看(模型);
}



查看

 @ foreach(Model.UserList中的var项目) )
{@ Html.DropDownListFor(modelitem => item.CountryId,Model.Country)} < / registerviewmodel > < / registerviewmodel > < / registerviewmodel >

解决方案

之后DataBind():



dropDown.SelectedIndex = 0;



dropDown.SelectedValue =anyValue;



dropDown.Items.FindByValue(anyValue)。Selected = true;



dropDown.Items.FindByText(anyValue)。Selected = true;



尝试以下任何一项,这可能会有效:)



-KR

I have a table in database which stores all the value about the user when the user registers.i want to retrive those values in the form in edit mode. i have successfully got all values in a list, and is getting visible in textbox in edit mode of the form. but there is a dropdown in the form too, i am not able to get how to set the default value of the dropdown based on my value coming from the databse which is presently in list.

DataLayer

public List<registerviewmodel> GetUserdetail(string Role)
        {
            try
            {
                cmd = new SqlCommand();
                RegisterViewModel mvm;
                List<registerviewmodel> lstMVM = new List<registerviewmodel>();
                cmd.CommandText = "getUserdetail";
                if (!String.IsNullOrEmpty(Role))
                {
                    cmd.Parameters.Add("@Role", SqlDbType.NVarChar).Value = Role;
                }
                DataTable dtModel = dl.GetSpData(cmd);
                foreach (DataRow dr in dtModel.Rows)
                {
                    mvm = new RegisterViewModel();
                    mvm.Id = dr["Id"].ToString();
                    mvm.CustomerName = dr["Customer Name"].ToString();
                    mvm.Company = dr["Company"].ToString();
                    mvm.Address = dr["Address"].ToString();
                    mvm.City = dr["City"].ToString();
                    mvm.RegionAbri = dr["Region"].ToString();
                    mvm.PostalCode = dr["Postal Code"].ToString();
                    mvm.CountryId = int.Parse(dr["CountryId"].ToString());
                    mvm.CountryName = dr["CountryName"].ToString();
                    mvm.PhoneNumber = dr["Phone Number"].ToString();
                    mvm.Fax = dr["Fax"].ToString();
                    mvm.Email = dr["Email"].ToString();
                    mvm.AckEmail = dr["AckEmail"].ToString();
                    mvm.ApplicationDate = dr["Application Date"].ToString();
                    mvm.UserVerified = dr["User Verified"].ToString();
                    mvm.UserStatus = dr["User Status"].ToString();
                    mvm.CustomerNo = dr["CustomerNo"].ToString();
                    mvm.Password = dr["PasswordHash"].ToString();
                    mvm.Multiplier = dr["Multiplier"].ToString();
                    mvm.QuoteExpire = dr["QuoteExpire"].ToString();
                    mvm.Freight = dr["Freight"].ToString();
                    mvm.Rep = dr["Rep"].ToString();
                    mvm.ISENumber = dr["ISENumber"].ToString();
                    mvm.ReceiveMail = dr["ReceiveMail"].ToString();
                    mvm.BuyingGroup = dr["BuyingGroup"].ToString();
                    mvm.Comments = dr["Comments"].ToString();
                    lstMVM.Add(mvm);
                }
                return lstMVM;
            }
            catch (Exception e)
            {
                throw e;

            }
        }



Controller

public ActionResult UserMaintainance()

       {
           eQuoteDataAccess eqda = new eQuoteDataAccess();
           RegisterViewModel model = new RegisterViewModel();
           model.UserList = eqda.GetUserdetail(Role);
           return View(model);
       }


View

@foreach (var item in Model.UserList)
{ @Html.DropDownListFor(modelitem => item.CountryId,Model.Country)}</registerviewmodel></registerviewmodel></registerviewmodel>

解决方案

After your DataBind():

dropDown.SelectedIndex = 0;
or
dropDown.SelectedValue = "anyValue";
or
dropDown.Items.FindByValue("anyValue").Selected = true;
or
dropDown.Items.FindByText("anyValue").Selected = true;

Try any of this, this might work :)

-KR


这篇关于如何根据MVC中数据库的值选择默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆