有没有办法可以从global.asax Application_EndRequest函数中访问页面对象?
我正在尝试在请求结束时设置标签的文本,但访问该页面比我想象的要困难.
这是我目前没有工作的东西:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
Context.Items.Add("Request_Start_Time", DateTime.Now);
}
protected void Application_EndRequest(Object sender, EventArgs e)
{
TimeSpan tsDuration = DateTime.Now.Subtract((DateTime)Context.Items["Request_Start_Time"]);
System.Web.UI.Page page = System.Web.HttpContext.Current.Handler as System.Web.UI.Page;
if (page != null)
{
Label label = page.FindControl("lblProcessingTime") as Label;
if (label != null)
{
label.Text = String.Format("Request Processing Time: {0}", tsDuration.ToString());
}
}
}
Run Code Online (Sandbox Code Playgroud)
页面在此处始终为null.
提前致谢.
您对代码的看法如下:
public void doSomething()
{
try
{
// actual code goes here
}
catch (Exception ex)
{
throw;
}
}
Run Code Online (Sandbox Code Playgroud)
我看到的问题是没有处理实际错误,只是将异常抛在另一个地方.我觉得调试起来比较困难,因为我没有得到实际问题所在的行号.
所以我的问题是为什么这会好?
----编辑----
从答案来看,大多数人都认为这样做毫无意义,没有捕获自定义或特定异常.这是我想要评论的内容,当没有抓住特定的例外时.我可以看到实际使用捕获的异常执行操作的重点,而不是此代码的方式.
我是一个非常新的jquery,并且无法调用多个函数实例.
我有一个功能
$('#open_dialog').click(function(){
$("#dialog").dialog("open");
return false;
});
Run Code Online (Sandbox Code Playgroud)
要调用此函数,我有一个带有id标记名为open_dialog的href链接.显然,如果它是引用该功能的页面上的唯一链接(一对一的关系),那么这种方法很有用.但是,我想要(多对一的关系).
我有一个包含25条记录的表,我要求我的每条记录都有一个链接,它将调用open_dialog函数我知道所有的id都不能被称为open_dialog,因为它们必须是唯一的,因此如何在传递时访问该函数我的25条记录中的哪条记录正在实例化该函数的值.
顺便说一句,我的记录是动态的,因此$('#open_dialog,open_dialog2,open_dialog3,...')是不切实际的.
感谢您查看我的帖子
我正在使用System.Web.Routing来获得更好的URL,并遇到了一个问题.我需要知道处理请求的实际页面.
例如,请求来自:
/basketball/home
Run Code Online (Sandbox Code Playgroud)
我需要找到处理该请求的页面,例如:
/management/default.aspx
Run Code Online (Sandbox Code Playgroud)
我只使用System.Web.Routing而不是MVC.我有一个RequestContext的句柄,它包含一些路由信息,但我看不到我需要的东西.
提前致谢.
*******更新*******
我能够使用Context.CurrentHandler,它给我"ASP.management_default_aspx",不完全是页面,但足以获取页面名称.
我正在尝试为数据库记录构建一个"编辑"页面,该页面可以编辑并保存回数据库.其中一个字段是多选列表框,需要在加载时突出显示硬编码列表中的相应列表项.
使用C#,如何根据数据库字段中逗号分隔的字符串填充多选列表框 - 选择适当的项目?我已经研究了一些涉及循环的解决方案,但我无法让他们使用我有限的C#技能组.
在我遇到困难之前,这就是我现在所拥有的一切.您会看到它没有考虑字符串中的多个值.是否有像"包含"这样的函数,我可以查看该值是否匹配?我仍然缺少一些(可能是基本的)C#逻辑和编码.
int i;
for (i = 0; i <= CATEGORYListBox.Items.Count - 1; i++)
{
if (reader["CATEGORY"].ToString() == CATEGORYListBox.Items(i).Value)
{
CATEGORYListBox.Items(i).Selected = True;
}
}
Run Code Online (Sandbox Code Playgroud)
...
<asp:ListBox ID="CATEGORYListBox" runat="server">
<asp:ListItem Value="Circulation">Circulation</asp:ListItem>
<asp:ListItem Value="Interactive Media">Interactive Media</asp:ListItem>
<asp:ListItem Value="Classified">Classified</asp:ListItem>
<asp:ListItem Value="Publishing">Publishing</asp:ListItem>
<asp:ListItem Value="Editorial">Editorial</asp:ListItem>
<asp:ListItem Value="Retail">Retail</asp:ListItem>
</asp:ListBox>
Run Code Online (Sandbox Code Playgroud)
感谢大家.
我想编写一个简单的chrome扩展来替换以下一系列步骤,我必须经常为大学做这些步骤:
- 制作一些东西的截图
- 编辑Paint中的截图
- 将unnamend.png保存到硬盘
- 将unnamed.png上传到imageshack.us/pic-upload.de或任何其他网站
- 与他人分享图像链接.
我不关心使用哪个图片上传服务,我只想自动化这个用例以节省时间(我已经红色并且已经开始使用chrome扩展并检查了他们的API,但就是这样,这个页面:http://farter.users.sourceforge.net/blog/2010/11/20/accessing-operating-system-clipboard-in-chromium-chrome-extensions/似乎很有用,但我不能让它覆盖我的系统剪贴板 - 而且我找不到可以帮助我的教程.
asp.net ×3
c# ×3
clipboard ×1
coding-style ×1
database ×1
global-asax ×1
javascript ×1
jquery ×1
listbox ×1
multi-select ×1
routing ×1
tags ×1
try-catch ×1