用一个例子可以更容易地解释这一点.我正试图找到一种方法将相对URL,例如"/Foo.aspx"或"〜/ Foo.aspx"转换为完整的URL,例如http://localhost/Foo.aspx.这样,当我部署到测试或阶段时,网站运行的域名不同,我将获得http://test/Foo.aspx和http://stage/Foo.aspx.
有任何想法吗?
我有一个包含多个字段的表单(公司名称,邮政编码等),允许用户搜索数据库中的公司.如果用户在多个字段中输入值,那么我需要搜索所有这些字段.我正在使用LINQ来查询数据库.
到目前为止,我已经设法编写了一个函数,它将查看它们的输入并将其转换为表达式列表.我现在想将该List转换为单个表达式,然后我可以通过LINQ提供程序执行该表达式.
我最初的尝试如下
private Expression<Func<Company, bool>> Combine(IList<Expression<Func<Company, bool>>> expressions)
{
if (expressions.Count == 0)
{
return null;
}
if (expressions.Count == 1)
{
return expressions[0];
}
Expression<Func<Company, bool>> combined = expressions[0];
expressions.Skip(1).ToList().ForEach(expr => combined = Expression.And(combined, expr));
return combined;
}
Run Code Online (Sandbox Code Playgroud)
但是,这会失败,并出现"二进制运算符并且未定义..."的异常消息.有没有人有任何想法,我需要做什么来结合这些表达式?
编辑:更正了我忘记将结果和表达式一起分配给变量的行.谢谢你指出那些人.
我有一个包含新闻故事的XML文档,新闻故事的主体元素在纯文本中包含p标签.当我使用XSL检索身体时,例如
<xsl:value-of select="body" />
Run Code Online (Sandbox Code Playgroud)
p标签似乎被剥离了.我正在使用Visual Studio 2005的XSL实现.
有没有人有任何想法如何避免这种情况?谢谢.
我一直在针对Cassini(内置的Web开发服务器)开发ASP .NET 3.5 Web应用程序,而不是针对IIS.
在我的Global.asax文件中,在Application_Start事件处理程序中,我有一些代码记录了网站启动的事实.这一切都适用于卡西尼.
由于使用IIS6将站点部署到测试服务器上的虚拟目录,我发现没有写入日志条目,因此我得出结论,Application_Start处理程序未触发.
然后我尝试删除虚拟目录并直接从测试服务器上的网站根目录运行该站点,但它没有任何区别 - 仍然没有应用程序启动的日志条目.
我知道无论我的部署环境如何,这些事件都应该触发,有没有人知道这里出了什么问题?
我有一个包含以下HTML的页面
<select id="person" size="5" onchange="document.getElementById('person').size = 1;">
<option value="Homer">Homer</option>
<option value="Marge">Marge</option>
<option value="Bart">Bart</option>
<option value="Lisa">Lisa</option>
<option value="Maggie">Maggie</option>
</select>
Run Code Online (Sandbox Code Playgroud)
当您在列表中选择一个项目时,列表的大小将设置为1(因此它将呈现为组合框而不是列表框).
使用Internet Explorer 11时,浏览器崩溃.使用其他浏览器进行测试时没有问题.我尝试过以下浏览器:
这里有一个jsfiddle http://jsfiddle.net/pC9zL/11/包含上面的HTML.
有没有其他人遇到过这个问题,如果有,他们是否知道任何可能的解决方案?
我正在使用ASP .NET MVC 1.0和jQuery(包括验证插件)开发Web应用程序.典型"编辑实体"视图的服务器端标记如下
<label for="FirstName">FirstName:</label>
<%= Html.TextBox("FirstName", Model.FirstName) %>
<%= Html.ValidationMessage("FirstName") %>
Run Code Online (Sandbox Code Playgroud)
当无效数据发布到FirstName字段时,生成的HTML是
<label for="FirstName">FirstName:</label>
<input type="text" value="" name="FirstName" id="FirstName" class="input-validation-error text">
<span class="field-validation-error">Please enter the first name.</span>
Run Code Online (Sandbox Code Playgroud)
这正是您对ASP .NET MVC开箱即用的期望.
我现在正在使用jQuery添加客户端验证,并希望它以完全相同的方式运行 - 即输入控件被赋予一类输入验证错误,并且跨度添加了一类字段验证 - 错误,用于显示错误消息.
我快到了,但并不完全.使用errorElement选项可以使验证程序为错误消息创建范围,而不是标签.使用errorClass选项意味着输入元素被赋予一类输入验证错误.
我遇到的问题是错误消息span 也会得到一类输入验证错误,我希望它有字段验证错误.
我已经尝试使用高亮和unhighlight函数来纠正这个问题,但是一旦我开始搞乱跨度上的类,验证本身就会停止工作,只是将表单发布到服务器上.
那里的任何人对我如何解决这个问题有任何想法?谢谢.
我正在尝试从文件中加载一些十进制值,但我无法找出获取原始值并将其转换为小数的正确方法。
我已将文件读入字节数组,每个四个字节块应该代表一个十进制值。为了帮助解决这个问题,我构建了一个表格,其中说明十进制值 1 到 46 如何表示为四个字节块。
例如,数字 1 显示为 0,0,128,63,数字 2 显示为 0,0,0,64,依此类推,直到 46,即 0,0,56,66。完整的表格可以在这里找到。
还有另一组数字,精确到小数点后三位并包含负数,如下所示。
我拥有的唯一文档说明
它们首先存储最低有效字节:1、256、65536、16777216。这使得十六进制序列 01 01 00 00 变成数字 257(十进制)。在 C/C++ 中,要读取浮点数,请执行:float x; fread(&x, sizeof(float), 1, fileptr);
不过,我正在使用 .NET 的 File.ReadAllBytes 方法,因此这没有太大帮助。如果有人能抽出几分钟时间查看示例文件,看看他们是否能找到将值转换为小数的方法,我将不胜感激。
我正在使用IBM iSeries Access for Windows软件包连接到AS/400存储过程层.这提供了一个.NET DLL,其类与System.Data
命名空间中的类相似.因此,我们使用它们的连接类实现并为其提供连接字符串.
有谁知道如何修改连接字符串以指示它应该使用的默认库?
我正在使用Web应用程序项目文件的ASP .NET 2.0站点上工作,因此可以编译为dll,而不是像处理较旧样式的Web站点项目一样部署源代码。
该站点在网站的根目录中运行时,在我的测试服务器(Windows Server 2003 R2,IIS6)上可以正常运行。但是,我需要在虚拟目录下运行它。当我切换到该页面时,浏览到站点中的任何页面时都会收到以下错误
CS1519:类,结构或接口成员声明中的无效令牌“,”
该错误消息继续告诉我行号和代码文件,但是代码文件位于Temporary ASP .NET files文件夹下,当我尝试查找它时,它不存在。
因此,尽管我怀疑它可能是母版页(如果在所有页面上都发生此错误),但我无法确定是哪个页面导致了问题。有没有其他人以前见过此事或找到了解决方案?
我将实体保存到SQL Server 2005数据库时遇到问题.我正在使用NHibernate 2.0.0.3002作为我的持久层.映射是典型的,具有整数ID,如下所示
<id name="Id" unsaved-value="0">
<column name="Id"/>
<generator class="identity" />
</id>
Run Code Online (Sandbox Code Playgroud)
为简洁起见,我省略了其余部分.应用程序使用具有通用保存方法的存储库类,如下所示
public void Save(T toSave)
{
Save(new T[] { toSave });
}
public void Save(IEnumerable<T> toSave)
{
using (ISession session = SessionFactory.OpenSession())
{
foreach (T item in toSave)
{
session.SaveOrUpdate(item);
}
session.Flush();
}
}
Run Code Online (Sandbox Code Playgroud)
在会话上调用SaveOrUpdate时,会抛出一个带有"null identifier"消息的异常.当我检查数据库时,已插入所有正确值的行,所以我认为问题是当NHibernate尝试使用@@ IDENTITY返回的值设置实体的Id属性时.我可以通过SQL事件探查器看到正在调用@@ IDENTITY,所以我不明白为什么抛出异常.
有没有其他人有这个问题?
.net ×3
asp.net ×3
c# ×2
asp.net-mvc ×1
database ×1
html ×1
ibm-midrange ×1
javascript ×1
jquery ×1
linq ×1
nhibernate ×1
validation ×1
xml ×1
xslt ×1