我正在开发一个需要能够支持两个或更多外观的站点,在运行时可以变换.我希望能够通过CSS开关来处理更改,但看起来我需要为每个设计使用不同的母版页.
那么,在运行时设置母版页的最佳方法是什么?Page.MasterPageFile只能在Page.OnPreInit事件中设置.看起来解决方案是让我的所有页面都从处理PreInit事件的公共基础继承,或者使用HttpModule来执行此操作.
有什么建议?
好的,这是411 - 我的Global.asax.cs文件中有以下事件处理程序:
private void Global_PostRequestHandlerExecute(object sender, EventArgs e)
{
if (/* logic that determines that this is an ajax call */)
{
// we want to set a cookie
Response.Cookies.Add(new HttpCookie("MyCookie", "true"));
}
}
Run Code Online (Sandbox Code Playgroud)
该处理程序将在Ajax请求期间运行(作为我正在使用的Ajax框架的结果),以及在其他时候 - if语句的条件过滤掉非Ajax事件,并且工作正常(它不相关)在这里,所以为了简洁起见我没有包含它.
我们可以说这很好用 - 设置了cookie,我能够在客户端上读取它,而且一切都很顺利.
现在对于让我疯狂的部分.
这是我用来删除cookie的JavaScript函数:
function deleteCookie(name) {
var cookieDate = new Date();
cookieDate.setTime(cookieDate.getTime() - 1);
document.cookie = (name + "=; expires=" + cookieDate.toGMTString());
}
Run Code Online (Sandbox Code Playgroud)
所以,当然,在设置cookie之后的某个时刻,我会这样删除它:
deleteCookie("MyCookie");
Run Code Online (Sandbox Code Playgroud)
只是,这不起作用; cookie仍然存在.那么,有谁知道为什么?
我需要在控制台中询问输入并等待几秒钟后我需要默认为某个值.基本上如何在c#中控制台输入并继续默认设置?如果你有一个很棒的示例代码.
我最近的任务是记录我一直维护的大型JavaScript应用程序.所以我对系统有很好的了解.
但是由于应用程序的庞大规模,即使先前了解代码和源代码本身的未压缩形式,也可能需要花费大量时间.
所以我正在寻找可以帮助我在JavaScript中探索类和方法及其关系的工具,如果可能的话,一路上记录它们,有可用吗?
像VS中的对象浏览器这样的东西会很好,但是任何帮助我更快完成任务的工具都可以.
谢谢!
请考虑以下代码:
string propertyName;
var dateList = new List<DateTime>() { DateTime.Now };
propertyName = dateList.GetPropertyName(dateTimeObject => dateTimeObject.Hour);
// I want the propertyName variable to now contain the string "Hour"
Run Code Online (Sandbox Code Playgroud)
这是扩展方法:
public static string GetPropertyName<T>(this IList<T> list, Func<T, object> func) {
//TODO: would like to dynamically determine which
// property is being used in the func function/lambda
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?我想也许这个其他的方法,使用Expression<Func<T, object>>而不是Func<T, object>给我更多的力量来找到我需要的东西,但我不知道如何.
public static string GetPropertyName<T>(this IList<T> list, Expression<Func<T, object>> expr) {
// interrogate expr to get what I …Run Code Online (Sandbox Code Playgroud) 什么是Java Web开发世界中的Master Pages等价物?我听说过Tiles,Tapestry和Velocity,但对它们一无所知.它们和母版页一样易于使用吗?
我想要像设置一个模板一样简单,后续页面从模板派生并覆盖内容区域,类似于母版页.
任何例子都会很棒!!
我正在尝试创建一个自定义控件,即"gridview",如控件,但特别是对于实现某些自定义接口的业务对象.
在这样做时,我遇到了以下问题.
我有一个控件,我已禁用viewstate(我不想重新启用它),它有一个我想要启用viewstate的子控件.因为父母被禁用,我似乎无法让子控件上的视图状态工作.有没有人有任何想法如何让它工作?
因此,我们使用Enterprise Library 4.1异常处理应用程序块来处理在多项目应用程序中记录/处理异常.我们有一些自定义异常,并抛出一些异常,其类在.NET框架的标准类库中定义(例如ArgumentException,InvalidOperationException,ArgumentNullException等).
今天,我们的团队负责人决定他不希望我们使用后者,因为.NET框架会抛出这些类型的异常,为了便于使用应用程序块的策略进行过滤,我们应该只使用自定义异常,至于实际上与自定义版本重复的.NET标准类库异常,如Custom ArgumentException,Custom InvalidOperationException等.
我的问题是,这种方法有什么问题?我当时无法用手指指着它,但它闻到了我的错误,我无法摆脱对此的不安情绪.我担心的事情真的不是那么重要吗?我想这只是感觉就像在这里摇尾巴的尾巴......
[更新]: 忘记包含ComponentArt ...
嗨,
我目前正在工作的客户使用的交互设计师制作了一些模型,现在我的工作是确定实现其中包含的图表的最佳方式.
在查看我所知道的选项并且能够找到一些简单的Google搜索之后,我将其缩小为使用ComponentArt,Dundas Charts或Infragistics,仅仅因为从我所看到的他们的演示中,他们有一些特征我相信我需要完成任务.
以下是模型中的图片 - 理想情况下,我需要一个软件来覆盖所有这些:

这个图表看起来很简单.
请注意年份之间的任意间距 - 尚不确定这是否是客户的关键点.
我不知道我曾经见过像这样的图表 - 它将之前的图表与一些额外的数据结合起来.
这是相同的图表,只是这次说明当用户将图表中的注释鼠标悬停或点击时会发生什么.他们想要弹出窗口中的漂亮样式,因此弹出窗口需要像iframe或类似的东西.显然,只要控件支持客户端事件以及相关的元数据,我就可以自己创建弹出窗口.
任何想法或建议都会受到赞赏,我多年没有使用图表控件,所以我有点亏本,客户很快想要估算.
谢谢!
我正在运行一个控制台应用程序(myApp.exe),它将一个伪本地化(unicode)字符串输出到标准输出.如果我在常规命令提示符(cmd.exe)中运行此命令,则unicode数据将丢失.如果我在unicode命令提示符(cmd.exe/u)中运行它或将控制台的属性设置为"Lucida Console",则会保留unicode字符串.
我想在C#中运行此应用程序并将unicode字符串重定向到本地变量.我正在使用RedirectStandardOutput = true的Process对象,但unicode字符串总是丢失.
如何指定保留此unicode信息?
private static int RunDISM(string Args, out string ConsoleOutput)
{
Process process = new Process();
process.StartInfo.FileName = "myApp.exe";
process.StartInfo.Arguments = Args;
try
{
process.StartInfo.CreateNoWindow = true;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.WorkingDirectory = Environment.CurrentDirectory;
process.Start();
process.WaitForExit(Int32.MaxValue);
}
catch (Exception e)
{
WEX.Logging.Interop.Log.Assert("Failure while starting or running process.\nERROR: " + e.Message);
ConsoleOutput = null;
return EXITCODE_ERROR;
}
ConsoleOutput = process.StandardOutput.ReadToEnd();
return process.ExitCode;
}
Run Code Online (Sandbox Code Playgroud) asp.net ×4
c# ×4
.net ×3
javascript ×3
master-pages ×2
ajax ×1
asp.net-mvc ×1
charts ×1
command-line ×1
console ×1
controls ×1
cookies ×1
exception ×1
generics ×1
java ×1
linq ×1
process ×1
reflection ×1
sleep ×1
unicode ×1
user-input ×1
viewstate ×1