小编Ben*_*man的帖子

为什么Response.Redirect导致System.Threading.ThreadAbortException?

当我使用Response.Redirect(...)将表单重定向到新页面时,我收到错误:

mscorlib.dll中出现"System.Threading.ThreadAbortException"类型的第一次机会异常mscorlib.dll中
出现"System.Threading.ThreadAbortException"类型的异常,但未在用户代码中处理

我对此的理解是,错误是由Web服务器中止调用response.redirect的页面的其余部分引起的.

我知道我可以添加第二个参数Response.Redirect,称为endResponse.如果我将endResponse设置为True,我仍然会收到错误,但如果我将其设置为False,那么我不会.我很确定,这意味着网络服务器正在运行我重定向的页面的其余部分.至少可以说这似乎效率低下.有一个更好的方法吗?除了Response.Redirect或有没有办法迫使旧页面停止加载我不会得到的东西ThreadAbortException

c# asp.net .net-3.5

227
推荐指数
6
解决办法
14万
查看次数

如何返回非空或空的第一个字符串变量

如果我有5个字符串变量,并且0到5之间是null或空是否有一个简单/简单的方法返回第一个非null或空?我使用的是.NET 3.5

c# .net-3.5

28
推荐指数
4
解决办法
8621
查看次数

为什么asp:DropDownList和相同宽度的asp:TextBox显示不同

我在表格中使用以下代码:

<tr>
    <td>User Language:</td>
    <td>
        <asp:DropDownList ID="Language" runat="server" Width="200px">
            <asp:ListItem Selected="True">English</asp:ListItem>
        </asp:DropDownList>
    </td>
</tr>
<tr>
    <td><span class="important">*</span>Company:</td>
    <td><asp:TextBox ID="Company" runat="server" width="200px" /></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

当代码出现在网站上时,<asp:Textbox>控件为205px,<asp:DropDownList>宽度为200px.是什么造成的?它们都设置为200px的宽度.

html c#

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

使用Web窗体的URL路由和Favicon的StopRoutingHandler

我有一个网站,我需要添加一个Favicon.ico.该站点使用带有路由的ASP.NET 3.5 Web窗体编写.问题是Favicon链接始终返回页面未找到错误.这是因为路由不知道Favicon.ico的链接应该去哪里,所以它返回Not Found页面.

我试图为favicon添加一个StopRoutingHandler,但它们似乎都没有用.以下是我到目前为止尝试过的内容:

routes.Add(new Route("MasterPages/{favicon}.ico", new StopRoutingHandler()));
routes.Add(new Route("{favicon}.ico", new StopRoutingHandler()));
routes.Add(new Route("favicon.ico", new StopRoutingHandler()));
routes.Add(new Route("favicon.ico/{*pathInfo}", new StopRoutingHandler()));
Run Code Online (Sandbox Code Playgroud)

有谁知道我应该使用什么?我尝试过的favicon.ico链接看起来像这样:

<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
Run Code Online (Sandbox Code Playgroud)

它们在我的<html><head>标签内.

另外,作为最后一点,我不使用MVC,因为如果我是,我可以使用它:

routes.IgnoreRoute("{*favicon}", new {favicon=@"(.*/)?favicon.ico(/.*)?"});
Run Code Online (Sandbox Code Playgroud)

遗憾的是,IgnoreRoute不适用于Routing Web Forms,因为它不是MVC应用程序.

c# asp.net routing

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

动态地将控件添加到控件列表中

我有一个网页,用户需要输入客户联系信息.他们可以从0进入无限数量的联系人.

我在页面上创建了这个页面代码:

<ajaxToolkit:ToolkitScriptManager runat="Server" EnablePartialRendering="true" ID="ScriptManager1" />
<asp:PlaceHolder ID="phCustomerContacts" runat="server" EnableViewState="true">/asp:PlaceHolder>
<asp:LinkButton ID="btnAddContact" runat="server" OnClick="btnAddContact_Click" CssClass="LinkButton" Text="Add Contact"/>
Run Code Online (Sandbox Code Playgroud)

在我的代码后面我添加了这个:

   public void btnAddContact_Click(object sender, EventArgs e)
    {
        IList<CustomerContactProfile> customerContacts = new List<CustomerContactProfile>();
        if (ViewState["CustomerContactList"] != null)
            customerContacts = (List<CustomerContactProfile>)ViewState["CustomerContactList"];
        CustomerContactProfile contactProfile = (CustomerContactProfile)LoadControl("~/Controls/Embedded/CustomerContactProfile.ascx");
        customerContacts.Add(contactProfile);

        foreach (CustomerContactProfile contact in customerContacts)
            phCustomerContacts.Controls.Add(contact);

        ViewState["CustomerContactList"] = customerContacts;
    }
Run Code Online (Sandbox Code Playgroud)

此代码不起作用,因为ViewState无法处理存储所有控制数据.但是,我想不出另一种存储已添加控件的方法.

asp:PlaceHolder控件的视图状态不保存任何内容,我需要保存控件,以便在用户向第一个控件输入一些数据时,数据在添加第二个数据时不会丢失,依此类推.

.net c# asp.net .net-4.0

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

如何在LINQ to Entity Framework中使用SQL通配符

我有一个看起来像这样的查询:

IQueryable<Profile> profiles = from p in connection.Profiles
    where profile.Email.Contains(txtSearch)
    select p;
Run Code Online (Sandbox Code Playgroud)

我知道当它转换为SQL时它会使用a LIKE '%<value of txtSearch>%'但是如果txtSearch = "jon%gmail.com"它将它转换为`LIKE'%jon~%gmail.com%'.〜逃脱了中间的百分比,这是一张外卡.我该如何解决这个问题?我需要能够将通配符放入我的LINQ到EF搜索中.

sql entity-framework-4 c#-4.0

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

gotFocus并在Form字段上输入方法未被调用

我的销售订单表(SalesTable)中有一些字段需要在另一个字段设置为特定值时被禁用.为此,我覆盖了表单字段上的enter和gotFocus方法(我做了两个测试).代码编译并没有任何问题.

我的问题是,当我单击相应网格列中的字段时,这些被覆盖的方法都不会被调用.什么会导致在网格字段上不调用enter和gotFocus方法?

x++ axapta dynamics-ax-2009

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

如何输入加号ASP.NET Ajax HTMLEditor

我正在使用Microsofts ASP.NET Ajax HTML编辑器,这里有http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/HTMLEditor/HTMLEditor.aspx.

当我在编辑器中输入加号"+"时,它总是被剥离并用空格替换.我甚至尝试过使用&#43;但是没有成功.是否有某种方法可以在编辑器中输入加号?

asp.net-ajax .net-3.5 html-editor

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

迭代2个列表

我有一个List<T1>项目和第二个List<T2>项目.两个列表都按属性A按字母顺序排序.我知道项目列表List<T2>是其中的一个子集,List<T1>并且没有List<T2>存在的项目List<T1>.

我需要迭代List<T1>并在每次匹配变量时更改变量List<T2>.什么是最快和最好的方法?我假设我需要迭代两个列表,但我知道做一个嵌套的foreach没有意义.

.net c# .net-3.5 c#-3.0

5
推荐指数
2
解决办法
2725
查看次数

设置字符串参数时,对模拟的所有调用都必须具有相应的设置

我有一个简单的方法正在测试。运行测试时出现错误

“对模拟的所有调用都必须具有相应的设置”

在最后一行

dataField.DefaultValue = orderNumber.ToString();
Run Code Online (Sandbox Code Playgroud)

是什么原因造成的?

我只是在设定一个领域。

void IUtilities.SetOrderIdInDocumentMetaData(Document document, int orderNumber)
{
    DataField dataField = null;
    if (document.DataFields.IsPresent(ORDER_ID) == false)
    {
        dataField = document.DataFields.Add(ORDER_ID, AppDefault: false, DocDefault: false);
    }
    else
    {
        dataField = document.DataFields[ORDER_ID];
    }

    dataField.DefaultValue = orderNumber.ToString();
}
Run Code Online (Sandbox Code Playgroud)

这是我的单元测试代码。

[TestMethod]
public void Utilities_SetOrderIdInDocumentMetaData_SetNew()
        {
    string orderNumber = "1";
    int orderId = 1;

    corelDocument
        .Setup(s => s.DataFields.IsPresent(ORDER_ID))
        .Returns(false);

    corelDocument
        .Setup(s => s.DataFields.Add(ORDER_ID, null, false, false, false))
        .Returns(corelDataField.Object);

    corelDataField
        .Setup(s => s.DefaultValue)
        .Returns(orderNumber);

    Utilities.SetOrderIdInDocumentMetaData(corelDocument.Object, orderId);

    Assert.AreEqual(orderNumber, corelDataField.Object.DefaultValue);
}
Run Code Online (Sandbox Code Playgroud)

c# unit-testing mstest moq mocking

5
推荐指数
2
解决办法
2732
查看次数