【发布时间】:2017-08-24 18:45:01
【问题描述】:
我有一个场景,我必须将数据从一个页面传递到另一个页面。为了传递当前我正在使用的查询字符串,如下所示。
function showNextPage(Reference) {
window.location.href = MasterPageVars.BaseUrl + 'Home/details?Reference=' + Reference;
}
这很好用。但现在我想将多个值(例如 from 和 to date 值)传递到下一页。我认为使用查询字符串传递它们是不合适的。
如果需要,我可以从数据库中获取数据。但它需要单独调用数据库。有人可以指出我可以在这里使用的其他方法吗?我知道我也可以使用 hiddenfor、session 和 cookie。什么是最好的方法 ?
谢谢。
【问题讨论】:
-
在查询字符串中传递数据绝对没问题,我想不出你认为它不合适的原因。当您使用 MVC 时,您可以根据需要设置路由,但这仍然是通过 URL 传递数据。
-
将值传递给 GET 方法的唯一方法是使用查询字符串值(或路由值)
-
对于一些参数很好,但太多了,不仅会创建一个非常丑陋的 url,而且由于查询字符串限制,您可能会抛出异常。
-
我唯一能想到的不想使用查询字符串是数据显示在 url 中。在公共电脑上使用时,人们可以看到以前用户使用的信息。有多种方法可以解决这个问题,而不是使用查询字符串。你在唱 .net core mvc 吗?
-
当然可以 - 但它应该以 ISO (
yyyy-MM-dd) 格式传递。但是如果这是用户输入日期的表单,您可以使用带有FormMethod.Get的表单,它将自动传递(您不需要脚本)
标签: c# jquery asp.net-mvc