Razor视图模型绑定使用javascript函数
我在reazor view.cshtml中有以下模型绑定Razor视图模型绑定使用javascript函数,javascript,c#,asp.net-mvc,razor-pages,Javascript,C#,Asp.net Mvc,Razor Pages,我在reazor view.cshtml中有以下模型绑定 @Html.TextBoxFor(m => m.cDate, new{ @id = "textd", @type = "text" } ) 我想在绑定之前调用javascript函数,如下所示 @Html.TextBoxFor(m => updatedateFormat(m.cDate), new{ @id = "textd", @typ
@Html.TextBoxFor(m => m.cDate,
new{
@id = "textd",
@type = "text"
}
)
我想在绑定之前调用javascript函数,如下所示
@Html.TextBoxFor(m => updatedateFormat(m.cDate),
new{
@id = "textd",
@type = "text"
}
)
@{
string ccDate= @Convert.ToString("updatedateFormat(@Model.cDate)");
}
@Html.TextBoxFor(m => ccDate,
new
updatedateFormat是一个javascript函数
我确实有很多选项只使用c#,但我很想知道我们是否可以将javascript函数与模型绑定一起使用
我试着像下面一样
@Html.TextBoxFor(m => updatedateFormat(m.cDate),
new{
@id = "textd",
@type = "text"
}
)
@{
string ccDate= @Convert.ToString("updatedateFormat(@Model.cDate)");
}
@Html.TextBoxFor(m => ccDate,
new
但不起作用
请告知。
谢谢因为不可能触发
Javascript
函数,所以当呈现输入元素或任何其他html
元素时,您可以使用文档。ready
事件来实现您想要的:
@Html.TextBoxFor(m =>m.cDate,
new{
@id = "textd",
@type = "text",
}
)
当文件准备就绪时:
$(document).ready(function () {
var ccDate= document.getElementById('textd');
updatedateFormat(ccDate);
})
$(document).ready(function () {
$('[data-onload]').each(function(){
eval($(this).data('onload'));
});
})
或者,您可以添加自定义属性,例如data onload
,以模拟加载事件:
@Html.TextBoxFor(m => m.cDate,
new{
@id = "textd",
@type = "text",
data_onload="updatedateFormat('@Model.cDate')"
}
)
当文件准备就绪时:
$(document).ready(function () {
var ccDate= document.getElementById('textd');
updatedateFormat(ccDate);
})
$(document).ready(function () {
$('[data-onload]').each(function(){
eval($(this).data('onload'));
});
})
如果您只想格式化属性的值,可以使用HTML帮助程序中的ToString()
函数进行格式化:
@Html.TextBoxFor(m =>m.cDate,
new{
@id = "textd",
@type = "text",
@Value = Model.cDate.ToString("yyyy/MM/dd")
}
)
由于无法触发
Javascript
函数,因此在呈现输入元素或任何其他html
元素时,您可以使用文档.ready
事件来实现所需:
@Html.TextBoxFor(m =>m.cDate,
new{
@id = "textd",
@type = "text",
}
)
当文件准备就绪时:
$(document).ready(function () {
var ccDate= document.getElementById('textd');
updatedateFormat(ccDate);
})
$(document).ready(function () {
$('[data-onload]').each(function(){
eval($(this).data('onload'));
});
})
或者,您可以添加自定义属性,例如data onload
,以模拟加载事件:
@Html.TextBoxFor(m => m.cDate,
new{
@id = "textd",
@type = "text",
data_onload="updatedateFormat('@Model.cDate')"
}
)
当文件准备就绪时:
$(document).ready(function () {
var ccDate= document.getElementById('textd');
updatedateFormat(ccDate);
})
$(document).ready(function () {
$('[data-onload]').each(function(){
eval($(this).data('onload'));
});
})
如果您只想格式化属性的值,可以使用HTML帮助程序中的ToString()
函数进行格式化:
@Html.TextBoxFor(m =>m.cDate,
new{
@id = "textd",
@type = "text",
@Value = Model.cDate.ToString("yyyy/MM/dd")
}
)
不,我只在c#控制器中更改它。不,我只在c#控制器中更改它