【问题标题】:What work is needed to pre-populate input form values using the URL/query strings?使用 URL/查询字符串预填充输入表单值需要什么工作?
【发布时间】:2019-04-04 14:28:51
【问题描述】:

我正在创建一个门户网站。我在门户上有一个按钮,可将用户重定向到不同的网站(归我们所有但完全不同的网站)。我想使用从门户传递的数据(名字、姓氏和电子邮件)预先填写表单上的一些输入字段。

我知道您可以在 URL 中使用查询字符串来填充表单上的字段。我尝试使用 mywebsite.com/page/?FirstName=Jane 但它没有填充输入字段。这种方法似乎很理想,但我认为在单独的网站上可能需要做一些工作才能使其正常工作。

我的门户网站和其他网站都是用 asp.net mvc 构建的。

任何人都可以确认是否可以在不修改不同网站的情况下传递参数吗?

【问题讨论】:

  • 可以使用ajax获取数据,使用脚本填充数据形成表单

标签: forms http query-string


【解决方案1】:

我已经有一段时间没有做 mvc 了。

如果您想链接到 mywebsite.com/page/?FirstName=Jane

假设您可以控制要链接到的页面,则您链接到的页面需要 1. 模型中需要有名字

public class SomeModel
{
        [Required]
        [Display(Name = "First name")]
        public string FirstName { get; set; }
}
  1. 控制器需要从该查询字符串中填充它

    公共 ActionResult 索引(SomeModel 模型) { 返回视图(模型); }

  2. 视图需要用到它

@model Site.Models.SomeModel

@Html.TextBoxFor(m => m.FirstName, new { @class = "form-control" })

【讨论】:

  • 谢谢你,这是有道理的。您知道是否有一种方法可以在不修改不同网站的情况下填充这些表单输入字段?很难修改和重新部署它。
  • 如果您尝试访问外部网站...您可能非常有限。如果他们在同一个域上(我怀疑这不太可能),你也许可以通过 java 脚本来做到这一点,但否则 javascript 中有一些安全功能专门阻止你做你要求的事情
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 2011-07-22
相关资源
最近更新 更多