在我的代码的一部分,我从十进制坐标转换为度/分/秒,我使用这个:
double coord = 59.345235;
int sec = (int)Math.Round(coord * 3600);
int deg = sec / 3600;
sec = Math.Abs(sec % 3600);
int min = sec / 60;
sec %= 60;
Run Code Online (Sandbox Code Playgroud)
我如何从度/分/秒转换回小数点坐标?
我有一个dll包含许多都继承自CommandBase类的类.我正在尝试使用C#中的反射来获取所有这些类(CommandA,CommandB,CommandC等)的实例,以便我可以在每个类上调用特定方法.这是我到目前为止:
//get assemblies in directory.
string folder = Path.Combine(HttpContext.Current.Server.MapPath("~/"), "bin");
var files = Directory.GetFiles(folder, "*.dll");
//load each assembly.
foreach (string file in files)
{
var assembly = Assembly.LoadFile(file);
if (assembly.FullName == "MyCommandProject")
{
foreach (var type in assembly.GetTypes())
{
if (!type.IsClass || type.IsNotPublic) continue;
if(type is CommandBase)
{
var command = Activator.CreateInstance(type) as CommandBase;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有2个问题.第一个问题是"if(type is CommandBase")行给出以下警告:
给定的表达式永远不是提供的类型CommandBase.
第二个问题是我无法弄清楚如何获取实际对象的实例(CommandA,CommandB等...),仅将其转换为CommandBase是不够的.
我正在尝试开始使用jQuery插件jqGrid,但是它给了我错误 - "b.jgrid.jqID不是函数".我从http://www.trirand.com/blog/?page_id=6下载了包含所有功能的插件,并引用了jquery.jqGrid.min.js和grid.locale-en.js.
这是html:
<table id="list"></table>
<div id="pager"></div>
Run Code Online (Sandbox Code Playgroud)
这是js:
jQuery(function () {
jQuery("#list").jqGrid({
url: '/admin/campus/getnearbybusinesses',
datatype: "json",
colNames: ['Name', 'Location'],
colModel: [
{ name: 'Name', index: 'Name', width: 150 },
{ name: 'Location', index: 'Location', width: 150 }
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#pager',
sortname: 'Name',
viewrecords: true,
sortorder: "asc",
caption: "Businesses"
});
jQuery("#list").jqGrid('navGrid', '#pager', { edit: false, add: false, del: false });
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试将文件上传控件添加到我的ASP.NET MVC 2表单中,但在我选择jpg并单击"保存"后,它会出现以下错误:
输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或填充字符中的非空白字符.
这是观点:
<% using (Html.BeginForm("Save", "Developers", FormMethod.Post, new {enctype = "multipart/form-data"})) { %>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
Login Name
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.LoginName) %>
<%: Html.ValidationMessageFor(model => model.LoginName) %>
</div>
<div class="editor-label">
Password
</div>
<div class="editor-field">
<%: Html.Password("Password") %>
<%: Html.ValidationMessageFor(model => model.Password) %>
</div>
<div class="editor-label">
First Name
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.FirstName) %>
<%: Html.ValidationMessageFor(model => model.FirstName) %>
</div>
<div class="editor-label">
Last Name
</div>
<div class="editor-field">
<%: …Run Code Online (Sandbox Code Playgroud) 我在MongoDB中有一个名为CrawlUser的集合.它有一个名为CrawlStatuses的列表,它是CrawlStatus对象的列表.CrawlStatus有一个名为LastErrorMessage的属性,我想从集合中删除它.
我尝试执行以下操作以删除它但它不起作用...没有给出错误消息,但LastErrorMessage列仍然存在.
db.CrawlUser.update( {}, { $unset: { "CrawlStatuses.LastErrorMessage": 1 } }, false, true);
Run Code Online (Sandbox Code Playgroud)
我有什么想法我做错了吗?
另一个相关的问题,如果我在一个非常大的集合(数百万行)的列上执行$ unset命令,mongodb会占用服务器上的所有ram(就像它试图将整个集合存储在内存中一样) ),然后服务器崩溃.有大量集合时是否有更好的方法可以删除列?
我有一个.NET 4 WPF应用程序,使用MSI安装,通过Visual Studio安装项目生成.一切都很好,除了我错过了Click Once Deployment功能,该功能在加载时检查应用程序的新版本并下载/安装它们.我转而远离Click Once Deployment,因为它似乎是一个半生不熟的解决方案,让你做一些简单的事情就像你的应用程序在启动时运行一样.
我想知道是否有任何类型的教程或代码,任何人都可以告诉我,它列出了如何处理检查新版本的应用程序,下载新版本的应用程序,以及安装新应用程序的旧版本.这似乎是大多数WPF应用程序想要的东西,我很惊讶我在谷歌上找不到任何关于这个的东西.
我正在尝试动态地向多个文本框添加验证规则.这是js:
//validate form.
$("#SubmitForm").validate();
$("input[id*=Hours]").rules("add", {
number: true,
messages: {
number: "Please enter a valid Hours"
}
});
Run Code Online (Sandbox Code Playgroud)
这将规则应用于页面上第一个带有"小时"的文本框,但是它不会将其应用于任何其他文本框.
谁知道这里有什么问题?
谢谢,贾斯汀
我有一个项目,有一个后期构建事件,可以将DLL复制到某个目录:
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)..\UdpLocationService\bin\Plugins\" /d /y
xcopy "$(TargetDir)$(TargetName).pdb" "$(SolutionDir)..\UdpLocationService\bin\Plugins\" /d /y
Run Code Online (Sandbox Code Playgroud)
但是,我将CruiseControl.NET设置为构建服务器,并且由于此xcopy构建后事件,MSBuild无法构建该项目:
MSB3073: The command "xcopy "C:\Build\Services\Windows\VehicleServer\Plugins\Payload\bin\Debug\Payload.dll" "*Undefined*..\UdpLocationService\bin\Plugins\" /d /y xcopy "C:\Build\Services\Windows\VehicleServer\Plugins\Payload\bin\Debug\Payload.pdb" "*Undefined*..\UdpLocationService\bin\Plugins\" /d /y" exited with code 4. in Microsoft.Common.targets(3397, 13)
Run Code Online (Sandbox Code Playgroud)
有任何建议来解决这个问题吗?
我有一个dojo(dijit)选择下拉列表调用js函数onChange.我希望这只在用户更改下拉列表中的值时调用onChange函数,但是,当我以编程方式更改js代码下拉列表的值时,它甚至会调用onChange函数.如何在用户更改下拉值时仅调用该函数?当我以编程方式更改值时,它不应该调用该函数.
<select jsId="ddlBoundaryType" id="ddlBoundaryType" name="ddlBoundaryType"
dojoType="dijit.form.Select">
<option value="0">Circle</option>
<option value="1">Polygon</option>
</select>
dojo.addOnLoad(InitBoundaries);
function InitBoundaries() {
dojo.connect(dijit.byId("ddlBoundaryType"), 'onChange', Boundaries_ChangeBoundaryType);
}
Run Code Online (Sandbox Code Playgroud)
谢谢,贾斯汀
我开始使用新的ASP.NET Web API.当我使用FF或Chrome等浏览器打开示例服务方法调用时,它会在浏览器中正确返回xml.但是,在Internet Explorer(7-9)中它会显示一个提示:
是否要从[servername]打开或保存读取(58个字节)?
当我选择Open时,它会询问打开哪个程序,然后它将在该程序中显示xml.我希望,因为方法接受GET方法,它只会在浏览器中返回结果,但是IE似乎并非如此.我在返回JSON之前使用ASP.NET MVC遇到过这种问题,但是在这种情况下我甚至都没有返回JSON.
如何让IE在FF和Chrome浏览器中返回结果呢?
c# ×2
jquery ×2
.net-4.0 ×1
asp.net-mvc ×1
dijit.form ×1
dojo ×1
jqgrid ×1
mongodb ×1
msbuild ×1
reflection ×1
unset ×1
wpf ×1
xcopy ×1