c# - Razor 初始化 HttpContext.Current
问题描述
我有一个 WebForms ASP.NET 项目。最近我添加了一些 Razor Views。一切正常,但现在我想使用 C# 从 Razor 调用以前从 jQuery Ajax 调用中调用的方法。此方法存储在 ashx 通用处理程序中。所以我正在初始化通用处理程序并从 Razor 视图中调用该方法,如下所示:
string MyUser = Request.Cookies["UserCookie"].Value;
MyProject.HandlersFolder.MyHandler temp_MyHandler = new MyProject.HandlersFolder.MyHandler();
var results = JsonConvert.DeserializeObject<String>(temp_MyHandler.GetmyCartItems(MyUser));
我的通用处理程序继承了初始化上下文的 BaseHandler:
public class MyHandler : BaseHandler
{
public string GetmyCartItems(string MyUser)
{
if (context.Request.Cookies["mycookie"] != null) //The code always crash here because context is always null
{
}
}
}
问题是代码总是在 context.Request 中崩溃,因为 context 总是为空。我的第一个想法是写这样的方法:
public class MyHandler : BaseHandler
{
public string GetmyCartItems(string MyUser)
{
if (HttpContext.Current.Request.Cookies["mycookie"] != null)
{
}
}
}
这种方式工作正常,但如果有另一种方法可以从 Razor 初始化当前上下文并且不需要触摸我的 ashx 通用处理程序,我希望您能提出建议。
解决方案
推荐阅读
- tensorflow - 具有批次数量循环的张量构造
- plsql - 无法在 dbms_output.put_line 和 serveroutput 上向终端显示任何内容
- swift - 在单元测试中捕获调试窗口输出?
- mongodb - 在spring数据mongo中将ObjectId投影到String
- kubernetes - Kubernetes:容器执行前的策略检查
- python - Python Selenium:遍历动态元素
- excel - 将饼图段的颜色更新为单元格填充颜色
- r - 在给定事件后具有第一次观察的子集行
- c++ - 此代码的浮点错误有人可以帮助我吗
- javascript - Amplify w/Cognito:如何获取当前用户的电子邮件?