为什么我不能在"快速监视"窗口中调试时使用lambda表达式?
UPD:另见
http://blogs.msdn.com/b/jaredpar/archive/2009/08/26/why-no-linq-in-debugger-windows.aspx
我有一个自定义控件,它是列表的一部分.应显示的文本是通过为其Text属性赋值来设置的.在运行时,此文本从数据库加载.我想在文本前添加字符串"Toelichting:"(荷兰语为"说明").我可以通过将控件的FormatString属性设置为以下来完成此操作:
"Toelichting: {0}"
Run Code Online (Sandbox Code Playgroud)
现在,如果加载的文本是一个空字符串,我想显示"Toelichting: - ",所以最后加上一个短划线.否则,我想显示"Toelichting:MyText".是否可以向FormatString添加一些条件检查代码,以便我可以检查参数是否为空?
我正在研究Fred Daoud的Stripes一书,并尝试将Hello World应用程序转换为使用友好URL,因为我不喜欢基于后缀的映射,例如http:// localhost:8080/getting_started/Hello.action.
这是之前...
的index.jsp:
<jsp:forward page="/Hello.action"/>
Run Code Online (Sandbox Code Playgroud)
web.xml中:
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
我的HelloActionBean上没有UrlBinding.我有书的例子.
我想知道这些书的例子是否适合早期版本的Stripes,因为我已经下载了1.5.1,我的web.xml定义了StripesFilter和StripesDispatcher,而我看到了其他地方使用过的DynamicMappingFilter,例如Fred的这篇文章在TheServerSide上.
无论如何,我做了以下更改:
的index.jsp:
<jsp:forward page="/hello"/>
Run Code Online (Sandbox Code Playgroud)
web.xml中:
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
HelloActionBean.java:
**@UrlBinding("/hello")**
public class HelloActionBean implements ActionBean
{
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过http:// localhost:8080/getting_started加载应用程序时,我看到:
net.sourceforge.stripes.exception.ActionBeanNotFoundException: Could not locate an ActionBean that is bound to the URL [/]. Commons reasons for this include mis-matched URLs and forgetting to implement ActionBean in your class. Registered ActionBeans are: {/hello=class stripesbook.action.HelloActionBean, /controller/DefaultView.action=class net.sourceforge.stripes.controller.DefaultViewActionBean, /hello/=class stripesbook.action.HelloActionBean, /controller/DefaultView.action/=class net.sourceforge.stripes.controller.DefaultViewActionBean}
at …Run Code Online (Sandbox Code Playgroud) 可能重复:
.Net更改元素ID
我有以下问题(我会解释它简化,否则会变得太复杂/长).
我需要创建一个继承自Panel的ASP.net服务器控件.很简单.当自定义控件呈现时,它应该动态创建一个Button,将一个事件处理程序与它相关联(它也将在服务器控件中定义),并将此按钮添加到呈现的控件中.在服务器控件中定义的单击事件处理程序执行一些暂时不感兴趣的工作.
我已经编写了一个例子,并且工作正常.在服务器控件的构造函数中,我创建一个新的按钮控件,给它一个ID,关联一个事件处理程序,在服务器控件的OnInit上我将按钮添加到Panel控件(记住,我的控件继承自Panel)然后一切都得到渲染.这看起来类似于以下内容:
public class MyCustomControl: Panel
{
private Button myButton;
public MyCustomControl()
{
myButton = new Button();
myButton.ID = "btnTest";
myButton.Click += new EventHandler(btnTest_Click);
}
protected void btnTest_Click(object sender, EventArgs e)
{
//do something...
}
//...
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.Controls.AddAt(0, myButton);
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//...
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
}
protected override void Render(HtmlTextWriter output)
{
base.RenderContents(output);
}
}
Run Code Online (Sandbox Code Playgroud)
这很好用.该按钮被正确呈现,当我单击它时,将调用并执行此客户服务器控件中的相应处理程序.然而,当我想将此服务器控件的多个实例添加到我的页面时,问题就开始了,因为我生成的所有按钮都具有相同的id"btnTest",这会导致冲突.所以我尝试将随机数与按钮的id相关联,最后它是"btnTest1235512"或类似的东西.这解决了我使用多个ID的问题,但是导致了点击按钮时我的事件处理程序不再被正确调用的问题.我想这是由于在输入构造函数时我的按钮总是获得另一个id的问题,因此找不到相应的回调(btnTest_Click事件处理程序).
有人可以给我一个如何处理问题的建议.有没有办法记住按钮的ID并重新关联它.据我所知,这必须发生在OnInit上,而ViewState尚不可用.因此,将id存储在ViewState中是行不通的.
有什么建议??
我们正在讨论从liferay安装上的普通portlet开发切换到基于webmvc portlet的开发是否是一个好主意.
我们很快就会开始开发一些portlet,所以现在是时候了.但我看到的问题是我们想要使用一些portlet 2.0功能,这些功能不适用于早于spring 3.0的版本.(对?)
有没有人见过,如果值得等待?(什么时候预定3.0?)目前的里程碑是否足够稳定?
我们的第一个真正的发布将在今年的最后一个季度,所以springource的家伙还有一些时间来获得最后的决定...... ;-)
有任何想法吗?
UPDATE
因此,Spring 3已经发布,它支持我们需要的所有JSR286功能.(我认为这是对JSR286功能的完全支持)
我看到的唯一缺点是文档在注释方面没有达到速度.
我有一个网格视图,显示用户拥有的消息.用户拥有的每条消息都被标记为是否已在我的数据库表中读取或未读取.
有没有一种方法可以根据消息是读取还是未读取来更改网格视图中某些行的样式?我希望以粗体显示未读消息的整行.
我有一个模型进行一些验证检查并将错误添加到ModelState:
ViewData.ModelState.AddModelError("mycontrol", "message")
Run Code Online (Sandbox Code Playgroud)
它们在视图侧显示正常,但有没有办法将焦点设置为与验证消息对应的控件?现在,页面刷新并保持在页面顶部,因此如果错误发生在页面末尾,则用户不清楚发生了什么.
注意:另一个解决方案是ValidationSummary在页面顶部显示错误列表,但我从来没有能够显示任何内容.我的所有错误都通过ValidationMessage显示.
编辑:我发现了ValidationSummary的问题.我的标记是:
<% Html.ValidationSummary()%>
Run Code Online (Sandbox Code Playgroud)
应该是:
<%=Html.ValidationSummary()%>
Run Code Online (Sandbox Code Playgroud)
我仍然想知道如何使用错误捕捉到该字段.
[修改]我在ExtJs中创建一个TreePanel,它从JSON文件中加载它的子节点.我在向节点添加点击操作时遇到问题.我不确定它是否在创建树的脚本中添加,或者它是否作为JSON中的属性添加,如果是,则语法是什么.任何帮助,将不胜感激!如果可能,请提供一个示例.
在 asp.net 2.0 (VB) 环境中工作,我已经有了可以从数据库为网站的特定“用户”生成 excel 文件的代码。我希望能够按需启动此报告生成器,然后在生成文件后,允许用户下载此文件。
我怎样才能安全地做到这一点,而不仅仅是将文件转储到一些公共可读的目录中?
注意:与此问题相关,但我真正感兴趣的部分从未得到解答。