您可以定义一个函数,在单击C#代码中定义的超链接时更改C#属性吗
Can you define a function to change a C# property on the click of an hyperlink defined in c# code?
我知道用javascript定义的超链接是不可能做到这一点的,但我不确定C#上定义的超级链接是否以同样的方式工作。
我的意思是我有这个代码:
HyperLink hlk;
...
hlk.NavigateUrl = url
我知道我可以定义这样的东西:
hlk.Attributes.Add("onclick", "return somefunction()");
但据我所知,这样的东西只适用于客户端代码,我希望它能从服务器端更改一些内容。
有什么办法可以对我提到的事情做这样的事情吗?由于超链接是从C#而不是javascript生成的,因此可能有一种方法。。。
您想为点击事件添加一个事件处理程序吗?
在C#中,您需要执行
Hyperlink hl;
// ... (setting of hyperlink)
hl.Click += HandlerFunction; // HandlerFunction is your method
点击事件所需的参数为object sender, RoutedEventArgs e
您的服务器运行C#并与浏览器通信,对吗?您在服务器端创建的任何内容最终都将被发送到客户端的浏览器(html+javascript)。超链接是如何创建的(C#、Java、PHP)并不重要,因为它被转换为html,然后从服务器发送出去。
您应该使用AJAX向服务器发送命令。
例如:
hlk.Attributes.Add("onclick", "doSomeAjax(url, command)");
客户端的doSomeAjax
函数可以是这样的(我使用了jQuery):
function doSomeAjax(url, command) {
$.ajax({
type: "post",
url: url,
data: command
});
}
url应该指向您将在指定用于获取命令的服务器上创建的地址。该命令可以是您想要的任何内容,例如myVar=true
,然后在服务器端只需查找myVar变量并将其更改为true。
这个例子当然很容易受到多种攻击!
相关文章:
- 如何消除代码中的未定义和其他问题
- 为什么这个JS代码打印未定义
- .val()返回未定义的.text返回随机代码
- 为什么这个代码没有定义,但没有2
- 在一个JavaScript文件中解析云代码定义和作业
- 如何将自定义代码与drupal合并
- 我使用谷歌标签管理器在我的网站上启动标签.变量“;未定义的“;在任何版本的Internet Explorer的自定义代码
- ...不是 JavaScript {自定义代码} 中的函数
- 如何将自定义代码添加到prestashop
- 对 HTML5 项目使用自定义C++代码
- 在通过Modernizr加载jQuery之后运行自定义代码
- 如何在Chrome DevTools中运行自定义代码
- 在ASP.net MVC 3应用程序的头文件中添加自定义代码/脚本
- Jquery验证,如果有错误,我如何运行自定义代码
- 如何通过自定义代码在wordpress中上传图像
- 轻松地将自定义代码转换为Drupal模块
- Google DFP异步标记上的自定义代码
- Sencha应用程序构建原生覆盖我们的自定义代码
- jQuery 选项卡在移动设备中不起作用 - 自定义代码
- 是否有可能在每个Ajax请求中执行自定义代码,而无需手动将该代码添加到Ext Js中的每个Ajax代码中?