虽然这与其他问题类似,但我一直无法弄清楚这一点,我不知道该怎么做就感到愚蠢。
1)我无法使用PostbackURL属性进行按钮单击。
基本上我需要做的是,当用户点击按钮时,我需要将数据发布到单独的URL。表格中未找到该数据。我需要在后面的代码中添加programmaticaly数据。
因此用户可以点击“发送”。然后我会将用户的电子邮件,名字,姓氏添加到我假设的namedvaluecollection中,然后将其发布到某个URL。
我的问题是,你是怎么做到的?到目前为止,我一直无法找到任何在线内容,明确说明如何完成,而不创建新的HttpWebRequest。
以下编辑评论:
基本上我们正在将我们的会员资格与一个单独的应用程序集成,而且之前已经有效。不幸的是,他们的技术支持并没有多大帮助。
基本上,用户在他们的网站上并尝试做一些需要您登录的事情。
用户被重定向到我的登录页面。 用户输入凭据。 如果用户进行身份验证,我会将他们的信息(姓名,电子邮件等)发布到特定的URL。该URL将在其末端创建用户(如果它们不存在)和/或将它们重定向到他们第一次尝试访问的任何URL。
我有这个工作,但是因为我正在创建一个新的HttpWebRequest对象,所以它们端的重定向不起作用。
我可以在查询字符串中执行此操作,但是在发布的数据量方面,我认为我将超出URL字符限制。
答案 0 :(得分:1)
您可以查看Server.Transfer方法。这将(在服务器上,而不是客户端)将所有执行转移到新页面,包括当前表单和查询字符串集合,并将该页面的结果发送回客户端浏览器。
然而,阅读问题的最后部分意味着您可能没有转移到服务器上的页面,不是吗?在这种情况下,这可能不适合你。
编辑以回复评论
您能否从您的角度阐明您希望用户查看的内容?
在某些时候,您需要向第三方网站创建一个新请求 - 要么是通过JavaScript从客户端浏览器到Response.Redirect,在这种情况下,您只能查询-string字段,用户将知道他们已经被发送到其他地方,或者使用HttpWebRequest在幕后发送。
就我个人而言,我只是不认为你可以如何做到我害怕。
答案 1 :(得分:0)
如果用户始终发布到其他页面,您可以执行以下操作。
1。)将要添加的信息添加到页面上的隐藏字段中,就像那里一样。 2.)然后修改表单对象上的“Action”以直接发布到其他页面。
现在取决于可能有效或无效的实施
答案 2 :(得分:0)
制作第二个表单,其中postbackurl设置为目标站点。这可能是另一个页面,或同一页面中隐藏的第二个表单。
用户提交主表单后,从代码中填写第二个表单的(隐藏)字段,并在pageload上使用javascript form.submit()提交(从代码隐藏中插入javascript)。
当然,只有Response.Redirect更容易,这相当于从浏览器启动GET。
我是否可以指出用户也可以轻松操作POST变量? 它不像操纵URL那么明显,因此对于非技术用户来说这里有点放缓。
但在POST中没有安全性且没有数据保护!