我正在使用mvc 5,使用此代码我在控制器中没有得到ViewBag.Arrival我每次都得到它Null有什么问题
@Html.TextBoxFor(Model => Model.Parameters.Checkin, "{0:dd-MM-yyyy}", new { @class = "calendarr font", @id = "Arrival", @name = "Arrival", @value = (String)ViewBag.Arrival, @readonly = "readonly", @onchange = "changedDate();" })
这是我的家庭控制器:
if (ViewBag.Arrival == true)
{
mySessionObject.Parameters.Checkin = ViewBag.Arrival;
mySessionObject.Parameters.Checkout = ViewBag.Departure;
}
答案 0 :(得分:1)
如果您尝试将视图中的数据发送回action
viewbag
,它将无法正常工作,因为它只执行一次旅行,因此您应该获取Model.Parameters.Checkin
中的值并更改{ {1}} @value
使用大写@Value
,因为剃刀不会识别小V
v
@value
答案 1 :(得分:0)
您应该在ViewBag
内填写controller
并在Views
中使用它们。
如果您在ViewBag.Arrival
视图中使用Index
,则应在Index
控制器的Home
操作内填写。
public ActionResult Index(){
ViewBag.Arrival = true;
}
如果您在ViewBag.Arrival
视图中使用true
,则Index
值为ViewBag
。
请注意,ViewBag.Arrival
变量仅为其自己的视图保留其值。这意味着如果您在Index
中填写ContactUs
,则::operator new(size_t)
视图中的::operator new(size_t)
将为空。