小编Joh*_*ker的帖子

Asp.Net Global.asax访问当前请求的Page对象

有没有办法可以从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.

提前致谢.

c# asp.net global-asax

6
推荐指数
1
解决办法
2万
查看次数

关于try-catch块的想法

您对代码的看法如下:

public void doSomething()
{
    try
    {
       // actual code goes here
    }
    catch (Exception ex)
    {
        throw;
    }
}
Run Code Online (Sandbox Code Playgroud)

我看到的问题是没有处理实际错误,只是将异常抛在另一个地方.我觉得调试起来比较困难,因为我没有得到实际问题所在的行号.

所以我的问题是为什么这会好?

----编辑----

从答案来看,大多数人都认为这样做毫无意义,没有捕获自定义或特定异常.这是我想要评论的内容,当没有抓住特定的例外时.我可以看到实际使用捕获的异常执行操作的重点,而不是此代码的方式.

c# coding-style exception-handling try-catch

6
推荐指数
1
解决办法
1699
查看次数

jquery - 如何使用不同的元素id标记调用相同的函数?

我是一个非常新的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,...')是不切实际的.

感谢您查看我的帖子

tags jquery

6
推荐指数
1
解决办法
7925
查看次数

Asp.Net System.Web.Routing查找实际的.aspx页面

我正在使用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",不完全是页面,但足以获取页面名称.

asp.net routing system.web.routing

5
推荐指数
1
解决办法
2503
查看次数

从分隔数据库字符串字段中选择多选列表框中的项目

我正在尝试为数据库记录构建一个"编辑"页面,该页面可以编辑并保存回数据库.其中一个字段是多选列表框,需要在加载时突出显示硬编码列表中的相应列表项.

使用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)

感谢大家.

c# database asp.net listbox multi-select

2
推荐指数
1
解决办法
2万
查看次数

构建镀铬扩展程序以上传图像(从剪贴板)

我想编写一个简单的chrome扩展来替换以下一系列步骤,我必须经常为大学做这些步骤:

  1. 制作一些东西的截图
  2. 编辑Paint中的截图
  3. 将unnamend.png保存到硬盘
  4. 将unnamed.png上传到ima​​geshack.us/pic-upload.de或任何其他网站
  5. 与他人分享图像链接.

我不关心使用哪个图片上传服务,我只想自动化这个用例以节省时间(我已经红色并且已经开始使用chrome扩展并检查了他们的API,但就是这样,这个页面:http://farter.users.sourceforge.net/blog/2010/11/20/accessing-operating-system-clipboard-in-chromium-chrome-extensions/似乎很有用,但我不能让它覆盖我的系统剪贴板 - 而且我找不到可以帮助我的教程.

javascript clipboard google-chrome

1
推荐指数
1
解决办法
4543
查看次数