在 MVC 中更改文本框日期时 asp.net 触发控制器代码
本文关键字:net asp 代码 控制器 日期 MVC 文本 | 更新日期: 2023-09-27 18:36:12
每当用户单击显示日期的文本框时,我都需要运行一些控制器代码。我的问题是如何从 html 文本框运行控制器代码?我是一个完整的MVC菜鸟,到目前为止一直在做网络表单。例如,我的控制器代码是:
[httppost]
public ActionResult Availability(int id)
{
//run code
}
我有一个纯 html 文本框 - 我不允许使用 html 助手,只能使用纯 html。 我可以在javascript,jquery或使用Ajax中实现这一点吗?文本框:
<input type="text" class="form-control" id="To" name="DateTo" placeholder="To" required />
你必须使用 AJAX。从技术上讲,这一切都发生在 Web 窗体代码的幕后隐式。MVC让你控制,而不是框架,就是一切。
所以,你只会有这样的东西:
$('input[name=DateTo]').on('blur', function () {
$.post('/url/to/action', { date: $(this).val() }, function (response) {
// do something with response
});
});
几点注意事项:
您的操作采用整数
id
参数,但文本框的值将是日期时间。我不确定你到底在做什么,但你需要弄清楚它实际上应该是什么。上面的代码被迫按属性选择,因为输入上没有 id。从技术上讲,这本身并没有错,但它可能不是你想要的。
我不确定为什么"不允许"您在此处使用HTML助手。要么是基于不理解框架的无知要求,要么您以某种方式认为使用 HTML 帮助程序无法完成某些事情。您可以通过以下方式生成完全相同的 HTML 位:
@Html.TextBoxFor(m => m.DateTo, new { @class = "form-control", placeholder = "To", required = true })