我有ASP.Net 2.0网站,SQL Server作为数据库,C#2005作为编程语言.该网站几乎完成,所有链接都运行正常.但我想阻止普通用户打开几页.当任何用户单击这些特定链接时,将打开另一个包含ASP登录控件的页面.用户必须提供有效的用户标识和密码才能显示指向限制性页面的链接.但作为一个新手,我不知道如何利用ASP登录控件的全部功能.因为,如果用户知道受限页面的确切URL,则他/她可以绕过登录控件并通过在地址栏中键入URL来直接访问这些页面.我想阻止这个.如果用户直接在地址栏中输入网址,我希望页面本身应该检查,
我该如何实现这个功能?
谢谢.
Lalit Kumar Barik
有人可以在泛型中解释这种行为吗?
我在C#中有一个通用函数
protected virtual void LoadFieldDataEditor <T> (ref T control, string strFieldName) where T : Control
{
//T can be different types of controls inheriting from System.Web.UI.Control
if (control is TextBox)
{
//This line gives an error
//((TextBox)control).Text = "test";
//This line works!
(control as TextBox).Text = "Test";
}
}
Run Code Online (Sandbox Code Playgroud)
另外,当我在进行"Control is TextBox"类型的检查时,我可以使用switch case吗?
编辑:
忘了添加错误信息抱歉!
干得好:
Error 3 Cannot convert type 'T' to 'TextBox'
Run Code Online (Sandbox Code Playgroud)
编辑:
虽然我们在谈论泛型,但我有另一个问题.(不确定我是否必须开始新帖)
该方法已扩展为包括另一种泛型类型
protected virtual void LoadFieldDataEditor <T1, T2> (T1 control, T2 objData, string strFieldName) …Run Code Online (Sandbox Code Playgroud) 我正在使用ajax更新框架中页面的位置.但是在设置哈希的位置时(特别是在Chrome和某些版本的IE(5.5)上,偶尔在IE7上),页面正在被重新加载.
以下html演示了这个问题.
主框架.... frame.html是
<html><head>
<frameset rows="*">
<frame src=sethash.html frameborder=0 scrolling=auto name=somebody>
</frameset>
</head></html>
Run Code Online (Sandbox Code Playgroud)
sethash.html页面是.
<html><head>
<script language=JavaScript>
var Count = 0;
function sethash()
{
top.document.location.hash = "hash" + Count;
Count++;
}
</script>
</head>
<body onload="alert('loaded')">
<h1>Hello</h1>
<input type='button' onClick='sethash()' value='Set Hash'>
</body>
</html>`
Run Code Online (Sandbox Code Playgroud)
在大多数浏览器中,加载frame.html会在加载页面时显示加载的警报.然后,当按下设置的哈希按钮时,URL将被更改,但加载的警报的哈希将不再显示.在Chrome和某些版本的IE上
Microsoft报告Internet Explorer 5.5 链接文本可能存在同样的问题
我不能使用microsoft建议的解决方案,即捕获事件而不是触发它,但只是滚动到视图,因为我使用set top.location.hash作为onLoad事件的一部分.
我的应用程序需要向网站发出GET请求,我希望能够知道它是否被防火墙阻止,并要求用户添加例外.
如何通过防火墙而不是其他东西找出我的获取请求失败?
我正在异步调用sql命令的beingexecutereader方法,用户可以取消.当取消发生时,我取消sqlcommand对象,这将杀死sql server上正在执行的作业.
但是,一旦我取消它,就会调用BeginExecute查询中指定的回调方法,并在尝试调用endexecutequery时出错.结果.Iscompleted是真的,直到调用了endexecute查询,此时它变为false.
有没有办法在回调方法中检测到该命令被取消了?或者我必须跟踪那个......
谢谢
我正在尝试做一些我认为相当简单的事情.获取IIS 7告诉客户他们可以在我的网站上缓存所有图像一段时间,比方说24小时.
我已尝试过http://www.galcho.com/Blog/post/2008/02/27/IIS7-How-to-set-cache-control-for-static-content.aspx上的步骤,但无济于事.我仍然得到返回304s的服务器请求.
有没有人有办法做到这一点?我有一个图形密集型网站,每次他们请求页面时我的用户都被锤击(我的服务器也是如此).很奇怪,这些图像似乎在Firebug中出现了"Cache-Control private,max-age = 3600",但是当我按下F5时,浏览器仍在请求它们.
技术架构师的一个非常常见的复杂性是将应用程序划分为程序集和命名空间.
另外:名称空间可以跨多个程序集.
在根据应用程序的逻辑单元对程序集进行分区时,我在项目中遇到了错误的经验.这个决定最终得到了包含30或40个项目的解决方案文件!主解决方案文件加载时间约为.5分钟!!!这最终浪费了很多时间,pff ......
相反的情况是在真正需要时将所有代码保存在1个程序集和分区中.
您是否有关于此问题的其他提示或最佳做法?
我有一个ASP.Net网站,将图像文件推送到客户端.由于我们不同的用户群的古怪需求,一些客户端工作站有一个ActiveX组件,他们需要在这个网站中使用它来操作这个图像,但由于成本,并非所有用户都有这种控制.我希望能够确定客户端是否安装了此ActiveX控件,然后根据此测试的结果编写标记脚本.
我一直在彻底探索Request对象,但没有发现任何我需要的东西.Request.Browser.ActiveXControls很高兴知道,但我需要进一步向下钻取.我应该关注另一个命名空间吗?这甚至可能吗?
提前致谢.
我想与其他人一起处理一些Android代码,并且需要设置存储库以在团队内本地使用。但是,似乎repo不允许我这样做。也不会像这样在 android 存储库中克隆 git 存储库:
$ git clone /var/android/.repo/projects/bionic.git/
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
Initialized empty Git repository in /home/user/mydroid/bionic/.git/
0 blocks
Warning: Remote HEAD refers to nonexistent ref, unable to checkout.
Run Code Online (Sandbox Code Playgroud)
有没有人尝试成功地与其他人一起在 Android 中处理 git 存储库,而不必发送到 Android 项目本身?
我还尝试执行以下操作,我在共享计算机和本地计算机上启动了一个客户端,如下所示:
$ repo init -u git://android.git.kernel.org/platform/manifest.git
Run Code Online (Sandbox Code Playgroud)
我还尝试将一个单独的项目(例如仿生)的遥控器添加到这样的共享计算机,但出现错误:
$ git clone /initech/android/bionic
fatal: cannot clone empty repository
Run Code Online (Sandbox Code Playgroud)
我也尝试这样做:
$ git clone /initech/android/.repo/projects/bionic.git/
Initialized empty Git repository in /home/user/mydroid/bionic/.git/
0 blocks
Warning: Remote HEAD refers to nonexistent ref, unable to checkout.
Run Code Online (Sandbox Code Playgroud)
它找到一个 git …
我只是阅读了一个应该支持多个现代浏览器的网络产品的代码(包括FireFox 3.X,Safari 3.X和IE7 +,但不包括IE6-).HTML代码使用div而不是table来创建类似于表格的效果.实际上,div的组织方式如下:
<div>
<div>
<div style="float:left" id="header1">...</div>
<div style="float:left">...</div>
<div style="float:left">...</div>
</div>
<div>
<div style="float:left" id="header2">...</div>
<div style="float:left">...</div>
<div style="float:left">...</div>
</div>
Run Code Online (Sandbox Code Playgroud)
有一段onload JavaScript代码可以读取所有"headerX"元素,计算它们的最大offsetWidth.然后为每个都指定max offsetWidth.通过这种方式,div很好地对齐,就像表格一样.
实际上,我认为这不是一个好方法,但我被告知该产品的设计方式是支持跨浏览器,因为表在不同的浏览器中表现不同.
我不相信.所以,问题.除了上面提到的方法,有没有更好的方法为所有流行的浏览器制作表格式布局?