有关软件嵌入网页后传参的问题

古典面条 2021-03-31 09:53:12
我用winform通过web控件嵌入了一个网页,然后想将软件中的参数传递到网页的文本框中,并进行提交。但是当使用js给文本框赋值后,数据并没有改变。比如用键盘输入111,然后再用js修改为333。但是提交后的参数还是111。请问有什么方法可以成功赋值吗?
...全文
174 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
古典面条 2021-04-03
自己顶一下下
  • 打赏
  • 举报
回复
古典面条 2021-04-03
自己顶一下下
  • 打赏
  • 举报
回复
古典面条 2021-04-02
引用 5 楼 jhonsonzhang的回复:
嵌入后,必须获得提交的form对象,然后赋值到那个form的相关input.value,进行提交。直接使用JS post方法也可以,也同样需要获取form对象,然后设置相应的httpcontext;包括header。这时你的webbrowser就没用了。
谢谢,我这边主要的问题是无法真实 的给input的value进行赋值。虽然可以通过js给文本框的value赋值。但是点击提交按钮还是键盘输入的值。比如如果我没有通过键盘输入参数而是直接通过js赋值点击提交按钮,这时提交上去的结果是空。如果我先用键盘赋值比如输入111,然后再用js赋值为222,这时点击提交按钮,提交上去的值是111
  • 打赏
  • 举报
回复
jhonsonzhang 2021-04-01
嵌入后,必须获得提交的form对象,然后赋值到那个form的相关input.value,进行提交。直接使用JS post方法也可以,也同样需要获取form对象,然后设置相应的httpcontext;包括header。这时你的webbrowser就没用了。
  • 打赏
  • 举报
回复
asq985 2021-04-01
或者webBrowser1.Document.InvokeScript()方法执行一段js
  • 打赏
  • 举报
回复
asq985 2021-04-01
webBrowser1.Document.GetElementById("id").SetAttribute("value", "333");
  • 打赏
  • 举报
回复
morliz子轩 2021-04-01
方法有很多,这里使用Cookie对象变量demo:

//Test1.aspx代码:
//提交按钮Click事件(将值写到缓存后台)
HttpCookie cookie_userno = new HttpCookie("UserNo");
cookie_userno.Value = this.TextBox1.Text
Response.AppendCookie(cookie_userno);
Server.Transfer("Test2.aspx");

//Test2.aspx代码
//Page_Load事件:
Label1.Text = Request.Cookies["UserNo"].Value.ToString();
  • 打赏
  • 举报
回复
古典面条 2021-04-01
引用 3 楼 asq985 的回复:
或者webBrowser1.Document.InvokeScript()方法执行一段js
谢谢,我用的是CefSharp浏览器控件,也尝试过向网页中插入js代码来进行赋值,虽然说input上的文本确实改变了。但是提交的值还是之前键盘输入的值,不知道是不是因为网页使用了类似angular或者vue这样的双向绑定前端框架,我实际修改的值只是html上的值,但是后台存的变量值并没有改变
  • 打赏
  • 举报
回复
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2021-03-31 09:53
社区公告

让您成为最强悍的C#开发者