我想将字符串传递到 .ashx 页面。
通常我会通过在 .aspx 页面中设置参数来完成此操作,例如:Loader="TreeLoader.ashx?passedVariable=hello"
但我想在 .aspx.cs 端以编程方式执行此操作,因为该值会发生变化。
.ashx 页面接受 HTTPContext:
public void ProcessRequest(HttpContext context)
{
不应该有某种方法将参数添加到上下文中,然后以类似于以下的方式获取参数:
string searchString = context.Request["searchString"];
实现这一目标的最佳方法是什么?
正确的方法取决于如何将控件从 aspx 文件传递到 ashx。如果从服务器端调用处理程序(使用Server.Transfer
方法)然后您可以使用上下文对象本身。例如,在 aspx.c 文件中
HttpContext.Current["key"] = data;
Server.Transfer("TreeLoader.ashx");
并在 ashx 文件中
public void ProcessRequest(HttpContext context)
{
var data = context["key"];
...
优点是您可以将实际对象作为数据传递(不一定是字符串)。
如果从客户端(浏览器)端进行调用,那么您需要将数据作为查询字符串参数传递 - 例如TreeLoader.ashx?searchString=data
并在 ashx 中使用它作为context.Request["searchString"]
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)