对于我的一些单元测试,我希望能够构建特定的JSON值(在这种情况下记录专辑),可以用作被测系统的输入.
我有以下代码:
var jsonObject = new JObject();
jsonObject.Add("Date", DateTime.Now);
jsonObject.Add("Album", "Me Against The World");
jsonObject.Add("Year", 1995);
jsonObject.Add("Artist", "2Pac");
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我从来没有真正喜欢"魔术字符串"语法,并希望更接近JavaScript中的expando-property语法,如下所示:
jsonObject.Date = DateTime.Now;
jsonObject.Album = "Me Against The World";
jsonObject.Year = 1995;
jsonObject.Artist = "2Pac";
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一系列合约订单项(CLIN),这些订单项将显示为div一般合约信息标题下的单个元素.
我能够使普通的observable工作,但似乎通过视图模型的构造函数传递数组不会创建clins可观察数组的任何部分.
我有一个jsFiddle来说明我的问题.对我来说奇怪的是,data-bind="text: clins.length()HTML span标签上甚至没有返回零,而是什么也没有呈现.
无论如何在jsFiddle中启用调试还是应该看到警告/错误?
我有一个用于报告的只读数据库的上下文,我正在编写大量代码,如下所示:
using (var context = new ReportingContext())
{
var reportXQuery = context.ReportX.AsNoTracking();
// Do stuff here with query...
}
Run Code Online (Sandbox Code Playgroud)
有没有一种方法来设置AsNoTracking一下,让刚new荷兰国际集团了ReportingContext上面会自动使用AsNoTracking,而不是需要记住显式调用它的每一个查询的?
在一个async方法中,任何局部变量都被存储起来,以便在await有权访问值之后继续任何线程.是否有任何方法可以指出在确定需要哪些值之后await?
例如:
var firstName = "Karl";
var lastName = "Anderson";
var street1 = "123 Nowhere Street";
var street2 = "Apt 1-A";
var city = "Beverly Hills";
var state = "California";
var zip = "90210";
await MyTaskHere();
Console.WriteLine(firstName);
Console.WriteLine(city);
Run Code Online (Sandbox Code Playgroud)
所以我已经声明了7个局部变量,但是之后只使用其中的两个await,是否有任何属性我可以用我的变量来装饰,以表明我打算只使用firstName并city在await完成之后?
注意:这是一个人为的例子,但是如果在下一个线程完成工作时不需要它们,那么能够抑制潜在大数据块的存储似乎是有益的.
我已经看到了使用一些新的IHttpActionResults for OK,NotFound的例子.我还没有看到任何使用Unauthorized().
我现有的代码如下:
catch (SecurityException ex)
{
request.CreateResponse(HttpStatusCode.Unauthorized, ex.Message);
}
Run Code Online (Sandbox Code Playgroud)
我想用这个替换它:
catch (SecurityException ex)
{
response = Unauthorized();
}
Run Code Online (Sandbox Code Playgroud)
但我没有看到任何超载传递异常细节.
还有,IHttpActionResult相当于返回500错误?
catch (Exception ex)
{
response = request.CreateErrorResponse(HttpStatusCode.InternalServerError,
ex.Message);
}
Run Code Online (Sandbox Code Playgroud) 关于C#5.0的一个很酷的事情是async/await关键字以及它如何简化你曾经用任务并行库(TPL)编写的管道.
我的问题是,如果你有线程无关的代码并且碰巧在主线程上触发了异步操作(读取:UI线程),但你不一定关心是否在主线程上发生了延续,那么你能否告诉async/await范例你希望它继续在第一个可用的线程上,即使它不是主线程?
我认为能够做到这一点会大大提高某些场景的效率,但不会成为灵丹妙药.
我正在尝试获取一个带有对C#方法的AJAX调用的列表,并使用jQuery显示其项目,但我无法做到.这是我得到的:
public string test()
{
return "test ok";
}
$.ajax({
type: "POST",
url: "Computer/test",
success: function (data) {
alert(data);
},
error: function () {
alert("error");
}
});
Run Code Online (Sandbox Code Playgroud)
这按预期工作,我得到一个'test ok'字符串的警报.但是,如果我尝试返回一个列表,我无法在jquery中遍历它.
public List<string> testList()
{
List<string> test = new List<string>;
test.Add("test1");
test.Add("test2");
return test;
}
$.ajax({
type: "POST",
url: "Computer/testList",
dataType: "json",
success: function (data) {
var list = data.d;
$.each(list, function (index, item) {
alert(item);
});
},
error: function (xhr) {
alert(xhr.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
使用此代码,我收到以下错误:
System.Collections.Generic.List`1 [System.String]
希望你能帮助我,谢谢.
我一直在尝试使用基本的asp.net Chart类渲染折线图.无论我做什么,它总是呈现柱形图.这是我的代码,我将数据表绑定到图表.
var IEtable = (table as System.ComponentModel.IListSource).GetList();
var chart = new Chart(width: 1000, height: 1000)
.AddSeries(chartType: "Line").AddLegend("Key")
.AddTitle("Time Series Metric")
.DataBindCrossTable(IEtable, "Key", "Date", "Value");
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?从现在开始超过12个小时,我一直在用这个东西搞砸了.
我正在使用MS Visual Studio 2010(ASP.NET - C#)和MS SQL Server 2005,我正在尝试tblEmployee从我的数据库中检索表中的所有记录EMPLOYEES.在Visual Studio中调试程序时没有错误,但是当localhost网页打开时,datagridview dgvEmployee不存在.也没有检索到的记录.这是我的代码:
SqlConnection sConn;
SqlDataAdapter daEmp;
DataSet dsEmp;
const string sStr = "Server = Server-PC\\SQLEXPRESS; Database = EMPLOYEES; Integrated Security = SSPI";
protected void Page_Load(object sender, EventArgs e)
{
sConn = new SqlConnection(sStr);
daEmp = new SqlDataAdapter("SELECT * FROM tblEmployee", sConn);
dsEmp = new DataSet();
daEmp.Fill(dsEmp, "tblEmployee");
dsEmp.Tables["tblEmployee"].PrimaryKey = new DataColumn[] { dsEmp.Tables["tblEmployee"].Columns["EmployeeID"] };
dgvEmployee.DataSource = dsEmp.Tables["tblEmployee"];
}
Run Code Online (Sandbox Code Playgroud)
这是我的Defaultpage.aspx中的代码:
<asp:GridView ID="dgvEmployee" runat="server">
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
数据库和表名是正确的,表有记录,我正在以管理员身份运行这两个程序.我只是无法弄清楚出了什么问题......这与权限有关吗?
我在我的应用程序中使用Chosen Jquery下拉列表.不幸的是,当下拉列表位于updatepanel中时,它不起作用.
我知道脚本之间存在一些冲突.但无法追查它.任何帮助表示赞赏.
我的代码是:
<script src="/js/jquery-1.11.2.js" type="text/javascript"></script>
<link href="../css/chosen.css" rel="stylesheet" />
<script src="../js/chosen.jquery.js" type="text/javascript"></script>
<asp:UpdatePanel ID="upMain" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1"
CssClass="form-control chosen"
multiple runat="server">
<asp:ListItem Text="Select Course" Value="0"
CssClass="form-control" runat="server"/>
<asp:ListItem Text="core java" Value="1"
CssClass="form-control" runat="server" />
<asp:ListItem Text="C" Value="2"
CssClass="form-control" runat="server" />
<asp:ListItem Text="C++" Value="3"
CssClass="form-control" runat="server" />
<asp:ListItem Text="C#" Value="4"
CssClass="form-control" runat="server" />
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
<script>
jQuery(document).ready(function mchoose() {
jQuery(".chosen").data("placeholder", "Select Frameworks...").chosen();
});
</script>
Run Code Online (Sandbox Code Playgroud) c# ×7
asp.net ×4
async-await ×2
c#-5.0 ×2
jquery ×2
ajax ×1
asp.net-mvc ×1
charts ×1
datagridview ×1
javascript ×1
json ×1
json.net ×1
knockout.js ×1
line ×1
sql ×1
sql-server ×1