我有一个主题页面,主题在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) 这是控制器中的代码:
[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:无法连接到远程服务器---> …
我在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在服务器端执行?我必须在这里找不到东西.
谢谢
我在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) 我有以下测试方法:
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的形式返回.
思想赞赏.
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作为填充字符串显示出来,以用于其他目的,而不是像原来那样放宽精度。
如果你看它在底部(内部)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) 我做了很多搜索,无法解决这个问题.
我有一个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代码的链接.
任何想法为什么不支持这个以及正确的解决方案是什么?
我遇到了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) 我在这里靠着墙撞着我的脑袋......无法想出办法把它拉下来.
这是我的设置:
我的表中有一个列完成日期.如果它从未完成,则该字段为空.很简单.
在前端,我有一个默认为"仅显示不完整的条目"的复选框.当只提取不完整的条目时,这很容易.
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)
知道如何完成这个看似简单的任务吗?我很难过...谢谢.
asp.net ×8
c# ×6
javascript ×2
ajax ×1
asp.net-ajax ×1
elmah ×1
iteration ×1
json ×1
master-pages ×1
recursion ×1
sql-server ×1
t-sql ×1
vb.net ×1