我正在为我的公司编写一个应用程序,目前正致力于搜索功能.当用户搜索项目时,我想显示最高版本(存储在数据库中).
问题是,版本存储为字符串而不是int,当我对结果执行OrderBy(q => q.Version)时,它们会像
1
10
11
2
3
...
Run Code Online (Sandbox Code Playgroud)
显然2在10之前.
有没有办法让我把版本转换为整数或者那里有一个简单的IComparer?到目前为止,我找不到任何实质内容.
我试过这样做:
var items = (from r in results
select r).OrderBy(q => Int32.Parse(q.Version));
Run Code Online (Sandbox Code Playgroud)
这编译但不起作用.
我需要使用linq克隆行.我找到了这个方法:
public static T Clone<T>(this T source)
{
var dcs = new System.Runtime.Serialization
.DataContractSerializer(typeof(T));
using (var ms = new System.IO.MemoryStream())
{
dcs.WriteObject(ms, source);
ms.Seek(0, System.IO.SeekOrigin.Begin);
return (T)dcs.ReadObject(ms);
}
}
Run Code Online (Sandbox Code Playgroud)
但是当尝试克隆行时,比如db1.Persons.First().Clone();
我得到这个例外:"类型'TestLinq.PersonAddress'的对象图包含周期,如果禁用参考跟踪,则无法序列化."
注意:我的表包含1个主键,1个唯一索引包含3个字段
能帮帮我吧
谢谢
哈米德
DateTime ExpMonth = Convert.ToInt32(ddExpMonth); ---- DropDown(user selects a month)
DateTime ExpYear = Convert.ToInt32(ddExpYear); ---- Dropdown(user selects year)
Datetime ExpDate = ///// I want this part to be saved as Datetime 02/2012
Run Code Online (Sandbox Code Playgroud)
这怎么可能.或任何其他方式.
我创建了一个项目作为类库.现在我需要将它变成一个WCF.我可以创建一个WCF项目,但我想避免与TFS一起大惊小怪.我已经完成了App.config并将/client:"wcfTestClient.exe"行添加到了命令行参数中.但是,它似乎还有其他东西在推出主机时缺失.
我的应用程序中出现以下错误:
无法序列化会话状态.在"StateServer"和"SQLServer"模式下,ASP.NET将序列化会话状态对象,因此不允许使用不可序列化的对象或MarshalByRef对象.如果自定义会话状态存储在"自定义"模式下完成类似的序列化,则适用相同的限制.
堆栈跟踪未提供有关哪个对象无法序列化的任何良好信息.有没有找到问题孩子的好方法?
编辑:我发现了问题,我试图序列化一个Linq语句(未执行).但我会尝试选择一个能够最好地解决这个问题的答案.
我今天在网络应用程序中遇到了一种奇怪的行为.当我从一个页面导航到另一个页面时,我丢失了一个特定的会话变量数据.
我能够在firefox中启动应用程序,并能够看到会话数据没有丢失.
我Response.Redirect(page2, false)
用来重定向到另一个页面.
下面的代码用于跟踪会话变量
System.IO.StreamWriter sw = new System.IO.StreamWriter(@"c:\test.txt", true);
for (int i = 0; i < Session.Count; i++)
{
sw.WriteLine(Session.Keys[i] + " " + Session.Contents[i]);
}
sw.Close();
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我吗?任何帮助表示赞赏.
我有一个Ajax表单,允许我使用OnComplete AjaxOption从表中动态删除行.这很好用.
问题是,即使我在确认对话框中点击"取消",它仍然执行OnComplete javascript.因此表单不会发布,但它看起来像是对用户做的(行从表中删除).
有任何想法吗?源代码如下:
OnComplete JS:
function fadeDel(id) {
$("#product" + id).fadeOut(500);
}
Run Code Online (Sandbox Code Playgroud)
表格代码:
<% using (Ajax.BeginForm("DeleteProduct", "Commerce", new { id = product.Id },
new AjaxOptions
{
OnSuccess = "fadeDel(" + product.Id + ")",
Confirm = "Are you sure you want to delete" + product.Title
}, new { id = "frm" + product.Id }))
{ %>
<%= Html.SubmitImage("Delete", Url.Content("~/content/images/12-em-cross.png"))%>
<%} %>
Run Code Online (Sandbox Code Playgroud) 我试图从后面的代码访问HTML表,并设置其visible ="false"属性(取决于用户选择的值).该表具有id值和runat = server属性.
如何从C#2008中的代码调用该表并设置其显示?
我想在我的WinForm应用程序中显示一个输入模式.我环顾网络,但没有找到一个很好的模式来做这件事.我知道我必须创建另一个Form,并使用ShowDialog方法.
c# ×7
.net ×3
asp.net-mvc ×3
asp.net ×2
linq-to-sql ×2
session ×2
ajax ×1
app-config ×1
asp.net-3.5 ×1
c#-3.0 ×1
children ×1
hosting ×1
iis ×1
jquery ×1
linq ×1
modal-dialog ×1
sql-order-by ×1
wcf ×1
winapi ×1
windows ×1
winforms ×1