小编ric*_*ott的帖子

ELMAH在主题页面错误

我有一个主题页面,主题在http模块中选择.

public void context_PreRequestHandlerExecute(object sender, EventArgs e)
{
    Page p = HttpContext.Current.Handler as Page;

    if (p != null)
    {
        //get theme
        string theme = GetTheme(HttpContext.Current.Request.Url.Host);

        Debug.WriteLine(String.Format("Loading theme {0}", theme));

        //set theme of page
        p.Theme = theme;
    }
}
Run Code Online (Sandbox Code Playgroud)

private const string ELMAH_ERROR_PAGE = "Elmah.ErrorLogPage";

        if (p.GetType().FullName != ELMAH_ERROR_PAGE)
        {
            p.Theme = theme;
        }
Run Code Online (Sandbox Code Playgroud)

public void context_PreRequestHandlerExecute(object sender, EventArgs e)
{
    Page p = HttpContext.Current.Handler as Page;

    if (p != null)
    {
        //get theme
        string theme = GetTheme(HttpContext.Current.Request.Url.Host);

        Debug.WriteLine(String.Format("Loading theme {0}", …
Run Code Online (Sandbox Code Playgroud)

c# asp.net elmah exception-handling

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

从谷歌发送电子邮件在生产服务器上失败但从localhost可以正常工作

这是控制器中的代码:

[HttpPost, ValidateInput(true)]
        public ActionResult Contact(ContactForm model)
        {
            if (!ModelState.IsValid)
            {
                return Json("error");

            }
            else
            {

                WebMail.SmtpServer = "smtp.gmail.com";
                WebMail.UserName = //email here
                WebMail.Password = //password here
                WebMail.EnableSsl = true;

                string message = model.Name + " " + model.Telephone + " " + model.Email + " " + model.Address + " " + model.City + " " + model.ZipCode;

                try
                {
                    WebMail.Send("example@example.com", "philaslim.com/info email", message, model.Email);
                    return Json("thanks");
                }
                catch (Exception ex)
                {
                    return Json(ex.Message.ToString());
                }

            }
Run Code Online (Sandbox Code Playgroud)

正如我所说,它只在生产服务器上失败.返回的异常消息是"发送邮件失败".有任何想法吗?

编辑:InnerException:

System.Net.WebException:无法连接到远程服务器---> …

c# asp.net asp.net-mvc-3

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

如何在ASP.NET中删除之前确认?

我在Page_Load()中有这样的代码

btnMainDelete.Attributes.Add("onclick", "if(confirm('Are you sure you want to delete this?')){}else{return true}");
Run Code Online (Sandbox Code Playgroud)

基本上,它确认在删除之前(是/否).如果是,那么删除记录,如果是,则不执行任何操作.

对于btnMainDelete,我提出如下:

<asp:Button ID="btnMainDelete" runat="server" Text="Delete" OnClick="btnMainDelete_Click" />
Run Code Online (Sandbox Code Playgroud)

现在的问题是,我按Yes或No总是btnMainDelete_Click在服务器端执行?我必须在这里找不到东西.

谢谢

javascript c# asp.net

4
推荐指数
2
解决办法
9468
查看次数

将MasterPage ImageButton事件传递给内容页面

我在MasterPage中有ImageButton.我希望OnClick事件触发并被MasterPage中托管的.ASPX页面捕获?

母版:

<asp:ImageButton ID="btnClear" OnClick="Clear_Click" 
 ImageUrl="images/Back_Icon_06.png" runat="server" AlternateText="Clear" 
 width="38"   height="39"/>
Run Code Online (Sandbox Code Playgroud)

asp.net master-pages

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

如何从ASP.NET .asmx返回JSON?

我有以下测试方法:

Imports System.Web

Imports System.Web.Services

Imports System.Web.Services.Protocols


<WebService(Namespace:="http://tempuri.org/")> _

<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _

<System.Web.Script.Services.ScriptService()> _

Public Class DemoService
 Inherits System.Web.Services.WebService

<WebMethod()> _
Public Function GetCustomer() As String
    Return "Microsoft"
End Function


End Class
Run Code Online (Sandbox Code Playgroud)

即使添加了ResponseFormat属性,响应仍然以XML而不是JSON的形式返回.

思想赞赏.

javascript vb.net asp.net json

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

StringBuilder.Append与float

StringBuilder.Append使用float正在截断值。它转换为什么?如何阻止它被截断?

AttributeOrder是类型float,构建字符串时我失去了精度。

if ( AttributeOrder != 0 ) 
{ 
    if ( Result.Length > 0 ) 
    { 
        Result.Append( " AND " ); 
    } 
    Result.Append( COLUMN_ATTRIBUTE_ORDER ); 
    Result.Append( "=" ); 
    Result.Append( AttributeOrder ); 
} 
Run Code Online (Sandbox Code Playgroud)

编辑:这是旧代码,我无法更改基础数据类型。SQL Server中的列为实数,数据类型为float。我需要将其float作为填充字符串显示出来,以用于其他目的,而不是像原来那样放宽精度。

c# asp.net

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

这是递归还是迭代?

如果你看它在底部(内部)foreach语句中调用FindChildControls方法,因为它来自foreach,是否会使它递归或迭代?

谢谢!

public static IEnumerable<T> FindChildControls<T>(this ControlCollection controlCollection) where T: class 
{
  foreach(Control control in controlCollection)
  {
    if(control is T)
    {
      yield return control as T;  
    }
    foreach(T type in control.Controls.FindChildControls<T>())  
    {  
      yield return type;  
    }  
  }   
} 
Run Code Online (Sandbox Code Playgroud)

c# iteration recursion

4
推荐指数
2
解决办法
467
查看次数

当设置为ModalPopupExtender TargetControlID时,后面的链接OnClick代码不会执行

我做了很多搜索,无法解决这个问题.

我有一个ModalPopupExtender弹出窗口,我想在用户点击链接DoSomething时显示.弹出窗口有一个下拉控件,当用户要求打开对话框时,我想立即填充该控件.这需要通过后面的代码在服务器端发生.目前我正在尝试通过链接上的OnClick事件来完成它,但只要链接绑定到ModalPopupExtender,就不会执行链接OnClick代码.

代码段:

<asp:LinkButton ID="lnkDoSomething" runat="server" onClick="lnkDoSomething_Click">Do Something</asp:LinkButton>
<asp:ModalPopupExtender ID="mpelnklnkDoSomething" runat="server" BackgroundCssClass="modalBackground"
    DropShadow="true" PopupControlID="lnkDoSomething"
    PopupDragHandleControlID="pnlDragHandlerForlnkDoSomething"   
    TargetControlID="lnklnkDoSomething"></asp:ModalPopupExtender>
Run Code Online (Sandbox Code Playgroud)

问题是,只要我将ModalPopupExtender设置为OnClick代码不执行的链接.这显然是设计的,但它对我来说没有意义(天真),好像用户点击应该执行OnClick代码的链接.

任何想法为什么不支持这个以及正确的解决方案是什么?

c# asp.net ajax asp.net-ajax ajaxcontroltoolkit

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

WebAPI Empty 500错误

我遇到了WebAPI的问题,返回空500.

这是数据类.

public class Comment
{
    public int Id { get; set; }
    public string Content { get; set; }
    public string Email { get; set; }
    public bool IsAnonymous { get; set; }

    public int ReviewId { get; set; }
    public Review Review { get; set; }
}
public class Review
{
    public int Id { get; set; }
    public string Content { get; set; }

    public int CategoryId { get; set; }
    public string Topic { get; set; …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc-4 asp.net-web-api

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

使用存储过程中的位输入来确定如何在where子句中过滤结果

我在这里靠着墙撞着我的脑袋......无法想出办法把它拉下来.

这是我的设置:

我的表中有一个列完成日期.如果它从未完成,则该字段为空.很简单.

在前端,我有一个默认为"仅显示不完整的条目"的复选框.当只提取不完整的条目时,这很容易.

SELECT
    *
FROM Sometable
WHERE Completed_Date IS NULL
Run Code Online (Sandbox Code Playgroud)

但是提供复选框选项会使事情变得复杂.我的复选框输入一个位值:1 =仅显示不完整,0 =显示全部.

问题是,我不能在where子句中使用CASE语句,因为实际值使用"="进行比较,而检查null使用"IS".例如:

SELECT
    *
FROM Sometable
WHERE Completed_Date IS   <---- invalid syntax
    CASE WHEN
        ...
    END


SELECT
    *
FROM Sometable
WHERE Completed_Date =
    CASE WHEN @OnlyIncomplete = 1 THEN
        NULL     <----- this translates to "WHERE Completed_Date = NULL", which won't work.. I have to use "IS NULL"
        ...
    END
Run Code Online (Sandbox Code Playgroud)

知道如何完成这个看似简单的任务吗?我很难过...谢谢.

t-sql sql-server sql-server-2005

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