我希望我的ASP.NET站点有简单的菜单字符串aka Breadcrumbs.我创建了包含所有必需元素的Sitemap并注册到Web.config中.例如:
<siteMap>
<siteMapNode url="Default.aspx" title="Home" >
<siteMapNode url="hosting/Default.aspx" title="Hosting" />
<siteMapNode url="software/Default.aspx" title="Software">
<siteMapNode url="firefox/Default.aspx" title="Firefox">
<siteMapNode url="Download.aspx" title="Download" />
<siteMapNode url="Support.aspx" title="Support" />
</siteMapNode>
</siteMapNode>
</siteMapNode>
</siteMap>
Run Code Online (Sandbox Code Playgroud)
并在Masterpage上创建了一个控件.这是菜单生成代码:
protected void Control_Load(Object sender, EventArgs e)
{
string path = String.Empty;
StringCollection list = new StringCollection();
foreach (string str in Request.Url.Segments)
{
path += str;
string link = String.Format("<a href=\"{0}://{1}{2}\">{3}</a>", Request.Url.Scheme, Request.Url.Authority, path, this.names[str]);
list.Add(link);
}
foreach (string str in list)
{
menu += String.Concat(str, SeparatorLine);
}
menu = menu.Remove(menu.LastIndexOf(SeparatorLine)); …Run Code Online (Sandbox Code Playgroud) 询问你对会话对象的看法,我从不使用它(只是被迫工作),因为它在扩展服务器时出现问题.我意识到你可以走出proc并拥有sql server管理会话,但我只是不喜欢它的想法.
我宁愿围绕这个问题构建一个更好的数据库设计,而不仅仅是在会话中抛出东西来保存数据库调用.
我一个人在这个吗?我应该重新考虑我对会议的立场吗?
我试图从LINQ查询返回的匿名类型列表中获取第n个元素,其中n是0到100之间的随机数.现在用它来讨论它并且我没有得到任何地方.我的代码(名称已更改为保护IP):
var query = from Table1 t1 in theContext.Table1
join Table2 t2 in theContext.Table2
on ...
where ...
select new
{
partNum = t1.part_number,
partSource = t2.part_source
}
int num = new Random().Next(0, 100);
// here's where the code I've tried fails
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式做一个Take<T>(100).ToList<T>()[num]与partNum和partSource的单一匿名类型?我最后通过明确定义一个类型来解决这个问题,但似乎我在这里错过了一个更优雅的解决方案.我想要做的就是返回一个Dictionary<string, string>调用者,所以我不想在这个方法之外定义一个类型.
更新:ElementAt不适用于此.我尝试添加:
// get a random part from the parts list
int num = new Random().Next(0, query.Count() - 1 );
var nthElement = query.ElementAt(num);
Run Code Online (Sandbox Code Playgroud)
我有一个例外: The query operator 'ElementAt' is not supported.
我试图阻止XSS攻击,所以我使用html敏捷包来使我的白名单和Microsoft反跨站点脚本库来处理其余的.
现在我正在考虑编码所有html hrefs.我得到一大串可以包含href的html代码.如果您对MS库有一个URL编码,但如果您对整个URl进行编码,则无法使用它.因此在示例中,它们只是对查询字符串进行编码
UrlEncode不受信任的输入用于URL(例如查询字符串中的值)单击此处!
http://msdn.microsoft.com/en-us/library/aa973813.aspx
所以现在我的问题是我如何通过href解析并找到查询字符串.它总是只是"?" 然后查询字符串或它可以有空格并以不同的方式写入?
编辑
我不会写这个网址,而是会分享这些网址的用户.所以这就是为什么我需要一种方法来确保我获得所有查询字符串而不仅仅是有效格式的字符串.如果它可以工作无效格式我也必须抓住这些.黑客不会关心它是否是有效的格式,只要它仍然能够做到他们想要的.
我正在开发一个asp.net mvc 2 Web应用程序.我的客户很可能希望我的应用程序的副本在他们的服务器上托管,而不是我在我的服务器上为所有客户端托管它.
但是我发现这有问题,因为我计划使用.net 2.0加密器来加密我的web.config以使其更安全.我想得很好我只会给他们我的.dll和观点等他们不会得到我的文件的灵魂,所以他们可以加载它,看看发生了什么.
那么,如果我加密web.config并且数据库连接字符串发生变化,会发生什么?让它成为地址变更或用户名/密码更改.
如果它是加密的,他们将如何改变它?这是否意味着我必须重建我的网站并向他们发送带有更改的新副本?或者他们是一个不同的方式?
如果没有别的办法让我思考应该吗?如果发生某些事情会发生什么,无论出于何种原因,直到48小时后我才能对它们进行新的更改.这意味着他们无法使用该服务48小时.
我提供支持是没有问题的,但当它开始出现一些小事情时,他们可能应该控制他们可能应该首先改变.
我希望加密它,但同时如果我必须对web.config进行所有更改,这也是不好的.因为它可以打开不同的安全问题,因为他们必须对我进行一些改变.
我需要在我的网站上添加"发送给朋友"链接.
当用户点击它时,应打开他们的电子邮件软件并且应该已经填写了电子邮件.
主题:网站名称正文:链接到网站,简短说明
那可能吗 ?谢谢
我正在使用一个 gridview,它根据下拉列表中的选择从 SQL 数据库中提取数据。源表有六列用于选择的属性,但根据选择的内容,可能会有一到六列为空(全部为空值)。当该列为空时,我希望将其隐藏,以便页面不那么笨重和混乱。
在过去的几天里我一直在寻找答案,但到目前为止我发现的要么是隐藏你知道为空但我不知道的列,要么是在 SQL 代码中删除它们,但我认为这不是如果在 gridview 代码中调用该列并且查询中不存在该列,则该列有效。
我对 ASP.NET 很陌生,所以如果我的一些术语不正确,我很抱歉!如果您对我的问题有任何疑问,请告诉我。
在此先感谢您的帮助!
在下面的代码中,我故意将"@fooData"错误地输入到"@ foo111Data"以检查try语句是否正在捕获我的异常.见下面的代码.但是try/catch语句没有在MessageBox中捕获并显示和异常,而VS2010只是分解并突出显示错误代码行.
try
{
conn.Open();
cmd.Parameters.AddWithValue("@foo111Data", dataStrTb1.Text);
cmd.ExecuteNonQuery();
}
catch (SqlCeException ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
conn.Close();
}
Run Code Online (Sandbox Code Playgroud) 用户何时离开聊天页面(通过注销或仅通过简单关闭浏览器窗口).聊天脚本立即检测到该用户离开并显示脱机签名.这个过程在几秒钟内发生,这是如何真正起作用的?
我是ASP.NET/c#开发人员,除此之外我使用JavaScripts而很少使用PHP.请不要超过其他语言的答案.
我听说过VS中的单元测试.该社区的许多人都说,创建单元测试将改善您的OOP设计.
我真的不知道.你能知道一个关于如何创建它的网站吗?
asp.net ×5
c# ×5
.net ×2
security ×2
breadcrumbs ×1
chat ×1
email ×1
encryption ×1
exception ×1
gridview ×1
html ×1
javascript ×1
linq ×1
mailto ×1
oop ×1
query-string ×1
session ×1
sitemap ×1
sitemappath ×1
try-catch ×1
unit-testing ×1
web-config ×1
winforms ×1