我有一个在我的视图中调用的文本框,如下所示:
@Html.TextBoxFor(Function(m) m.ActivityIDReturn)
我希望能够做的是,每当将一个值插入此文本框中时,我希望它更新模型而无需点击任何类型的提交按钮。此文本框的值在视图中填充了几个元素。
所以理想情况下,文本框看起来像这样:
@Html.TextBoxFor(Function(m) m.ActivityIDReturn, new with {Key .onchange=UpdateModel()})
或者
@Html.TextBoxFor(Function(m) m.ActivityIDReturn, new with {Key .onchange= RETLog(ActivityIDReturn:=ActivityIDReturn)})
RETLog() 是首先创建视图的函数。
到目前为止,我能够做到这一点的唯一方法是:
@Html.TextBoxFor(Function(m) m.ActivityIDReturn, New With {Key .onchange = "javascript:submit()"})
但我只能想象这种事情可能会产生什么可怕的副作用。
编辑:正是我在这里想要完成的
在我的模型中,我有这个:
Public Property PS As RecordsTaskView
Get
Return GlobalVar.db.PS.RecordsTaskViews.Find(ActivityIDReturn)
End Get
Set(ByVal value As RecordsTaskView)
value = GlobalVar.db.PS.RecordsTaskViews.Find(ActivityIDReturn)
End Set
End Property
在我看来,我有这个:
@Html.LabelFor(Function(m) m.ActivityIDReturn)
@Html.TextBoxFor(Function(m) m.ActivityIDReturn, New With {Key .onchange="javascript:submit()"})
@Html.DisplayFor(Function(m) m.PS.RefActionID)
@Html.DisplayFor(Function(m) m.PS.QutDesc)
@Html.DisplayFor(Function(m) m.PS.TaskDesc)
@Html.DisplayFor(Function(m) m.PS.CltCode)
@Html.DisplayFor(Function(m) m.PS.CltDesc)
@Html.DisplayFor(Function(m) m.PS.BenIDin)
基本上所有这些 DisplayFor 都由这个文本框的值填充。我希望当用户在文本框中输入一个值时填充这些 DisplayFor 值,而无需用户刷新页面,或者按 Enter 或按任何按钮。
这是我的代码的完整视图:https ://gist.github.com/aaronmallen/7042328