首次加载时,我需要在mvc页面上的可编辑文本框中显示一个值(如果存在)。我有一个功能,将负责获取我需要的值,但我需要从当前模型传递参数,以从数据库中获得我需要的。 我遇到的问题是将此值放入文本框中。我试过的是
CSHTML:
@Html.TextBoxFor(model => model.AdjustedLiabilityAmount, new { @Value=OBS_LIB.BLL.JeopardyAssessment.JeopardyAssessment.GetLatestAdjustedLiabilityAmount(Model.DOTNumber, Model.LiabilityAmount))}
我得到一个红色波浪形的“当前上下文中不存在名称'值'”
所以我尝试了一种我读过的不同技术,就像这样。
控制器:
public ActionResult Index()
{
ViewBag.AdjustedValue = OBS_LIB.BLL.JeopardyAssessment.JeopardyAssessment.GetLatestAdjustedLiabilityAmount(Model.DOTNumber, Model.LiabilityAmount);
CSHTML:
@Html.TextBoxFor(model => model.AdjustedLiabilityAmount, new { @Value=ViewBag.AdjustedValue)}
这次我得到了红色波浪形的“名字'模型'在当前背景下不存在。”
我确信我只是缺少一些基本的东西,因为我是MVC的新手。
非常感谢任何帮助。
整个ActionResult索引:
public ActionResult Index()
{
ViewBag.AdjustedValue = OBS_LIB.BLL.JeopardyAssessment.JeopardyAssessment.GetLatestAdjustedLiabilityAmount(Model.DOTNumber, Model.LiabilityAmount);
var Report = new OBS_LIB.DTO.JeopardyAssessmentReport();
Report.Stage = 1;
Report.Status = "Active";
Report.ReportItems = OBS_LIB.BLL.JeopardyAssessment.JeopardyAssessment.GetJAReportItems(Report.Stage, Report.Status);
return View(Report);
}
答案 0 :(得分:2)
你想做这样的事情:
类别:
public class ModelClassHere {
public float Liability {get;set;}
}
控制器:
public ActionResult Index(ModelClassHere model) {
model.Liability = 10.00;
return View(model); // pass model to the view
}
查看:
@Html.TextBoxFor(x => x.Liability) // 'x' can be anything
编辑*
如果您已有型号并需要传递一个简单值:
控制器:
public ActionResult Index(ModelClassHere model, string otherValue) {
model.Liability = 10.00;
ViewBag.Liability = model.Liability;
return View(model); // pass model to the view
}
查看:
<input type="text" id="otherValue" name="otherValue" value="@ViewBag.Liability.ToString()" />
答案 1 :(得分:2)
你可以使用 @ Html.TextBox(&#34; AdjustedLiabilityAmount&#34;,(Decimal)ViewBag.AdjustedValue)}
或者
@ Html.TextBox(&#34; AdjustedLiabilityAmount&#34;,Model.AdjustedLiabilityAmount == null?(Decimal)ViewBag.AdjustedValue:Model.AdjustedLiabilityAmount)}
在十进制类型中,您可以输入所需的类型。
答案 2 :(得分:1)
你需要传递你的模型 控制器
return view(myModelName);
确保您可以在控制器中访问它。
您的视图也必须在顶部的@model行中引用该模型。
最后要调用模型,它将是
观点:
Model.myModelName