我在尝试将自定义HTML5数据属性添加到使用WebGrid帮助器呈现的表时遇到问题.我希望表标签看起来如下:
<table data-test="testdata"><!-- Table Content --></table>
Run Code Online (Sandbox Code Playgroud)
以下是使用Razor视图引擎的示例视图:
@{
var myUser = new
{
Id = 1,
Name = "Test User"
};
var users = new[] { myUser };
var grid = new WebGrid(users);
}
@grid.GetHtml(htmlAttributes: new { data-test = "testdata"})
Run Code Online (Sandbox Code Playgroud)
最后一行将生成"无效的匿名类型成员声明符".错误,因为数据测试中的连字符.
对于其他一些输入HtmlHelpers,您可以使用下划线代替连字符,并且在渲染时它将自动更改为连字符.WebGrid不会发生这种情况.
如果我传入htmlAttributes的字典:
@grid.GetHtml(htmlAttributes: new Dictionary<string, object> {{ "data-test", "testdata"}})
Run Code Online (Sandbox Code Playgroud)
表格如下呈现:
<table Comparer="System.Collections.Generic.GenericEqualityComparer`1[System.String]" Count="1" Keys="System.Collections.Generic.Dictionary`2+KeyCollection[System.String,System.Object]" Values="System.Collections.Generic.Dictionary`2+ValueCollection[System.String,System.Object]"><!-- Table Content --></table>
Run Code Online (Sandbox Code Playgroud)
我做错了什么,我该怎么做才能根据需要渲染属性?
我们需要掌握Entity Framework 4.2来测试4.2中的SQL生成.
不幸的是,我们的开发环境不允许我们使用Nuget.
有没有办法获得EF4.2二进制文件,以便我们可以测试它?
我正在使用Unity(3.4)Monodevelop(2.4.2),当我在调试器中逐步执行它时,它没有正确执行代码.这是显示它的视频的链接,请在720p运行并全屏显示...
http://www.youtube.com/watch?v=LGN7kxMUqjA
此外,这里有一些屏幕截图显示调试器在鼠标悬停变量时显示非常奇怪的值.这是在第一个if块中正确显示xSectionPixel的值时的样子...
这就是它在第二个if块中错误地显示xSectionPixel的值时的样子......
这也是它开始不正确地执行代码的代码行.
什么会导致这个?
我尝试使用存储库中的代码的新副本重新安装工具,我甚至将它设置在具有不同操作系统(Win 7)的不同计算机上,并且它总是做同样的事情.这不是说它必须是我的代码吗?
值得注意的是,我正在使用SVN从存储库中推送/拉取代码,而我的本地副本存在于我的Dropbox文件夹中.
非常感谢您的智慧!如果你能发现任何可能破坏事物的东西(也就是我使用浮点数和整数的方式,那么这里也是代码?)
Vector2 textureCoordToHexGridCoord(int textX, int textY)
{
Vector2 hexGridCoord = new Vector2();
float m = hexH / hexR;
int xsection = (int)(textX / (hexH + hexS));
int ysection = (int)(textY / (2 * hexR));
int xSectionPixel = (int)(textX - xsection * (hexH + hexS));
int ySectionPixel = (int)(textY - ysection * (2 * hexR));
//A Section
if(xsection % 2 == 0)
{
hexGridCoord.x = xsection;
hexGridCoord.y = ysection;
if(xSectionPixel < (hexH …
Run Code Online (Sandbox Code Playgroud)