public List<SelectListItem> getTickerName()
{
List<SelectListItem> lstTicker = new List<SelectListItem>();
DataSet ds = new DataSet();
//ds = BasicBoObj.getDatasetSP("sp_TickerNameForCompanies");
ds = BasicBoObj.getDatasetSP("sp_ConfAdminCompanies");
foreach (DataRow dr in ds.Tables[0].Rows)
{
lstTicker.Add(new SelectListItem { Text = Convert.ToString(dr["DisplayCompanyName"]), Value = Convert.ToString(dr["code"]) });
}
return lstTicker;
}
我想访问此Text
的{{1}}。
在lstTicker
中,我传递的是公司名称,在“值”中,我将ID传递给存储过程。
我怎么才能访问“Text”,其中我有公司名称,我想将其存储在数据库中
我正在访问值
Text
答案 0 :(得分:0)
这将有效:
控制器/型号:
public class MyViewModelSO
{
public int selectedValue { get; set; }
public List<SelectListItem> tickers = HomeController.getTickerName();
}
public class HomeController : Controller
{
[HttpPost]
public ActionResult Index2007(MyViewModelSO myViewModel)
{
//save
var value = myViewModel.tickers.Where(r => r.Value == myViewModel.selectedValue.ToString()).
Select(s => s.Text).ToList();
//put breakpoint here to see value contains text
//...rest of save
return View(myViewModel);
}
public ActionResult Index2007()
{
var myViewModel = new MyViewModelSO();
return View(myViewModel);
}
public static List<SelectListItem> getTickerName()
{
List<SelectListItem> lstTicker = new List<SelectListItem>();
using (SqlConnection conn = new SqlConnection(@"Server=.\sqlexpress;DataBase={MyDB};Integrated Security=SSPI"))
{
conn.Open();
SqlCommand cmd = new SqlCommand("sp_ConfAdminCompanies", conn);
cmd.CommandType = CommandType.StoredProcedure;
// execute the command
using (SqlDataReader rdr = cmd.ExecuteReader())
{
// iterate through results, printing each to console
while (rdr.Read())
{
lstTicker.Add(new SelectListItem
{
Text = rdr["DisplayCompanyName"].ToString(),
Value = rdr["code"].ToString()
});
}
}
}
return lstTicker;
}
查看:
@model Testy20161006.Controllers.MyViewModelSO
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index2007</title>
</head>
<body>
<div>
@using (Html.BeginForm())
{
<table>
<tr>
<td>@Html.LabelFor(r => r.selectedValue)</td>
<td>
@Html.DropDownListFor(m => m.selectedValue,
new SelectList(Model.tickers, "Value", "Text"))
</tr>
</table>
<input type="submit" value="SaveTextNotValue" />
}
</div>
</body>
</html>
答案 1 :(得分:0)
您好,您可以使用 selectedItem.Text 的属性,这里是示例:
[HttpPost]
public ActionResult Index(FruitModel fruit)
{
fruit.Fruits = PopulateFruits();
var selectedItem = fruit.Fruits.Find(p => p.Value == fruit.FruitId.ToString());
if (selectedItem != null)
{
selectedItem.Selected = true;
ViewBag.Message = "Fruit: " + selectedItem.Text;
ViewBag.Message += "\\nQuantity: " + fruit.Quantity;
}
return View(fruit);
}
希望它会有所帮助
由于
KARTHIK