MSDN让检测移动浏览器变得非常容易:
if (Request.Browser["IsMobileDevice"] == "true" )
{
Response.Redirect("MobileDefault.aspx");
}
Run Code Online (Sandbox Code Playgroud)
实际上,看起来你也可以只检查Request.Browser.IsMobileDevice.但这实际上是如何运作的呢?我甚至没有.browser文件......幕后发生了什么?ASP.NET 2.0是否有一些内置的默认值?
我正在使用NIB文件来布局自定义表格视图单元格.此单元格有一个带有出口的标签,名为lblName.将UITapGestureRecognizer添加到此标签永远不会触发关联的事件.我有userInteractionEnabled = YES.
我猜测问题是UILabel在TableView中并且表/单元视图正在拦截水龙头.我能为此做点什么吗?
我想要做的就是在按下UILabel时执行一些自定义操作!我所见过的所有解决方案都是荒谬的.使用标准工具集应该很容易.但显然不是.
这是我正在使用的代码:
- (void)tapAction {
NSLog(@"Tap action");
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction)];
[recognizer setNumberOfTapsRequired:1];
//lblName.userInteractionEnabled = true; (setting this in Interface Builder)
[lblName addGestureRecognizer:recognizer];
}
Run Code Online (Sandbox Code Playgroud) 如何从代码隐藏中调用Eval()?我知道这是像DataBinder.Eval(Container.DataItem,"name")之类的东西的前端快捷方式,但我无法编译这个该死的东西.我想,我错过了正确的方法参数.我想转这样的事情:
<asp:Image ID="imgLogo" runat="server" ImageUrl='<%# Eval("name") %>'/>
Run Code Online (Sandbox Code Playgroud)
成:
<asp:Image ID="imgLogo" runat="server" ImageUrl='<%# GetImagePath(???) %>'/>
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
protected string GetImagePath(????)
{
//some code
return "some/logical/path" + Eval("name");
}
Run Code Online (Sandbox Code Playgroud)
asp:Image控件位于一个绑定到SqlDataReader的转发器中.
我有一个我正在开发的Sitecore/ASP.NET项目.今天在某些时候我无意中点击了解决方案上下文菜单中的"清理"选项.我花了一段时间才弄清楚为什么我的网站被无可救药地打破了.结果是Visual Studio继续并从\ bin目录中删除了几个不属于我的项目的必需程序集.
我怎样才能防止这种情况再次发生?
奇怪的是,它并没有删除所有内容......只是少数几个.它留下了很多我的项目没有直接引用的东西.这让我想知道这个功能究竟应该做什么?我可以设置某种文件标志吗?没有文件设置为只读.如果您对细节感兴趣,则删除以下内容:
Sitecore.Analytics.dll
Sitecore.Client.XML
Stimulsoft.Base.dll
Stimulsoft.Report.dll
Stimulsoft.Report.Web.dll
Stimulsoft.Report.WebDesign.dll
Telerik.Web.UI.dll
更新:你知道吗......我想我真正感兴趣的是为什么Visual Studio会丢弃大部分文件而只删除这些特定的文件.
这是一个令人困惑的问题,我在StackOverflow上没有看到一个很好的答案,虽然有几个刺...我有一个情况,我想这样做:
<asp:Repeater ID="MyRepeater" runat="server" OnItemDataBound="MyRepeater_ItemDataBound">
<ItemTemplate>
<li id="id?">
All the other stuff
</li>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
问题是...如何根据它们绑定的ItemIndex将我的<li>元素的ID设置为id1,id2,id3等?到目前为止,我提出的最......呃......"优雅"的解决方案是用asp:Literal替换<li>并转储<li ...>'文本.但那感觉......太错了.不,我没有使用ASP.NET 4.0,我读过它将提供此功能.
如何使用Sitecore控件在子布局中呈现媒体库项目图像?对于具有"图像"字段的普通内容项,它只是一块蛋糕......只需使用sc:Image或FieldRenderer控制.但我有这样的事情:
<asp:Repeater ID="rptImages" runat="server">
<ItemTemplate>
<sc:FieldRenderer ????>
</ItemTemplate>
</asp:Repater>
Run Code Online (Sandbox Code Playgroud)
而背后的代码:
rptImages.DataSource = Sitecore.Context.Database.SelectItems("/sitecore/Media Library/Images/Some Image Folder/*")
rptImages.DataBind();
Run Code Online (Sandbox Code Playgroud)
那么...... ItemTemplate会发生什么?我可以使用ItemDataBound事件来做一些手动分配,但是我不清楚如何去做.我觉得我在这里错过了一些非常简单的东西.
我有一部分内容树,我想拒绝除特定角色之外的所有权限.这似乎是一项非常明显的任务,但我没有在安全管理员的食谱中看到它的一个例子,我无法找到一种使用安全工具的简单方法.我一定错过了一些明显的东西...... ???
说我有这个:
sitecore
-content
-branchA
-branchB
Run Code Online (Sandbox Code Playgroud)
我在内容树中创建的所有内容都可以通过Extranet\Anonymous在默认情况下读取.但即使我点击安全功能区上的"需要登录",所有用户仍然具有读取权限,他们只需要登录.我想让branchB只能通过sitecore\SomeRole成员读取.这是怎么做到的?
我有一长串嵌套的div.我在查询字符串上传递一个特定元素的ID(实际上是一个段落元素)并打开它的div和父onload.但是,列表太长,有时打开的元素隐藏在窗口底部下方.
如何自动滚动用户的浏览器窗口以使显示的元素位于屏幕顶部?
你可能不需要这个,但是为了记录...我的列表看起来像这样:
<div id="div1">
<p id="1"></p>
<div>stuff</div>
<p id="2"></p>
<div>stuff</div>
<p id="3"></p>
<div>stuff</div>
</div>
...
<div id="divN">
<p id="997"></p>
<div>stuff</div>
<p id="998"></p>
<div>stuff</div>
<p id="999"></p>
<div>stuff</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我遇到了我正在为Sitecore CMS系统执行的XPath查询的问题.
此查询工作正常:
/根/内容/元数据/提示/*
但是,当我尝试这个:
/根/内容/元数据/提示/*[@ SomeAttribute = 'somekey']
我收到一个错误,上面写着"在22号位预期的字符串结尾",这是找到短划线字符的地方.我的印象是破折号不是XML中的特殊字符......我在这里做错了吗?我需要以某种方式编码吗?或者这是XPath解析器中的错误?任何建议的解决方法?
我正在添加一些支持,以一种友好的打印机友好格式打印我的网站的特定页面.所以我做的第一件事就是创建一个或多或少的空白布局,我可以将内容放入其中.然后我转到了一个内容页面,并将此布局分配给演示文稿详细信息中的"打印"设备.
这似乎没有做任何事情.在定义任何打印设置之前,我仍然在打印预览中获得完全相同的输出.说实话,我不完全确定这应该如何运作.据推测,我的浏览器必须再次使用新的用户代理(???)请求页面,以使Sitecore返回页面的不同呈现...但我已经尝试过Firefox,Chrome和IE并获得同样的不受欢迎从我的"默认"设备输出.
必须遗漏一些明显的东西?