Javascript - 在 MVC5 中将变量传递给 TextboxFor

Javascript - Passing a variable to a TextboxFor in MVC5

提问人:ExecChef 提问时间:2/26/2019 更新时间:2/26/2019 访问量:238

问:

我是一个学习新技巧的老人。我来自 asp.net Web 表单,所以我对 MVC5 有一个学习曲线,并且在 javascript 方面几乎没有经验。话虽如此......这是我的问题。

每次客户在表单上进行交易时,我都需要创建一个唯一的交易编号。我能想到两种方法。一种是使用表中的唯一 ID。但是,在将记录从表格提交到表格之前,这种情况尚不存在。我想我们可以在表中查询记录计数,然后添加 1。..但是,涉及(在线)的教程对于我想做的事情来说似乎过于复杂。获取 recordcount 并将其传递到 Viewbag 中似乎很简单。但是我找不到一个足够简单的基本教程。

于是,我转向 JavaScript 来创建一个随机数。然后将该值传递给相应的 html TextBoxFor。我快到了......但并不完全是。这是我的JavaScript

                        var min = 1398799;
                        var max = 9999999;
                        var random = Math.floor(Math.random() * (+max - +min)) + +min;
                        $("#RequsitionNumber").val($("RO"+random));

我正在尝试将“random”的值传递给对象“RequisitionNumber”,它当前传递的是“[object Object]”

我认为最后一行代码需要不同。

我也愿意回去通过控制器做事。 .获取表行计数,并将其作为 viewbag 传递。两者都可以。

JavaScript C# ASP.NET-MVC-5

评论

0赞 mjwills 2/26/2019
And so, I moved on to JavaScript to create a random Number. And then pass that value to the appropriate html TextBoxFor这是不可能的。 运行服务器端(即在涉及 JS 之前)。不能使用 JS 代码(稍后运行)来影响服务器端代码(较早运行)。为什么要在 JS 而不是 C# 中执行此操作?TextBoxFor
0赞 mjwills 2/26/2019
Each time a client makes a transaction on the form, I need to create a unique transaction number.常见的解决方案是在将事务编号保存到数据库时生成事务编号。
0赞 ExecChef 2/26/2019
@mjwills TextBoxFor 是一个空文本框。当用户从窗体的第一个下拉列表中选择一个项目时,它会触发 JS 更改事件 - 这就是这个数字生成器发挥作用的地方。如果这有意义?
0赞 ExecChef 2/26/2019
@mjwills我愿意在控制器的 C# 中执行此操作,并将变量传递到视图 (Viewbag) 中,如果这更合乎逻辑。
2赞 Wubbler 2/26/2019
你可以使用 ,这些或多或少保证是独一无二的,这样你就不必麻烦你自己的随机生成器了。Guid

答: 暂无答案