小编Jus*_*tin的帖子

将度/分/秒转换为十进制坐标

在我的代码的一部分,我从十进制坐标转换为度/分/秒,我使用这个:

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)

我如何从度/分/秒转换回小数点坐标?

c#

18
推荐指数
2
解决办法
4万
查看次数

使用反射在dll中获取某些基类型的所有类

我有一个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是不够的.

c# reflection

18
推荐指数
3
解决办法
3万
查看次数

jqgrid错误 - b.jgrid.jqID不是函数

我正在尝试开始使用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)

jquery jqgrid

17
推荐指数
1
解决办法
8012
查看次数

ASP.NET MVC文件上载错误 - "输入不是有效的Base-64字符串"

我正在尝试将文件上传控件添加到我的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)

asp.net-mvc

13
推荐指数
2
解决办法
2万
查看次数

如何从子集合中删除列

我在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(就像它试图将整个集合存储在内存中一样) ),然后服务器崩溃.有大量集合时是否有更好的方法可以删除列?

mongodb unset

13
推荐指数
1
解决办法
9854
查看次数

用于检查更新的代码,安装新版本的应用

我有一个.NET 4 WPF应用程序,使用MSI安装,通过Visual Studio安装项目生成.一切都很好,除了我错过了Click Once Deployment功能,该功能在加载时检查应用程序的新版本并下载/安装它们.我转而远离Click Once Deployment,因为它似乎是一个半生不熟的解决方案,让你做一些简单的事情就像你的应用程序在启动时运行一样.

我想知道是否有任何类型的教程或代码,任何人都可以告诉我,它列出了如何处理检查新版本的应用程序,下载新版本的应用程序,以及安装新应用程序的旧版本.这似乎是大多数WPF应用程序想要的东西,我很惊讶我在谷歌上找不到任何关于这个的东西.

wpf .net-4.0

12
推荐指数
2
解决办法
7796
查看次数

jQuery - 将验证规则动态添加到多个文本框

我正在尝试动态地向多个文本框添加验证规则.这是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)

这将规则应用于页面上第一个带有"小时"的文本框,但是它不会将其应用于任何其他文本框.

谁知道这里有什么问题?

谢谢,贾斯汀

jquery

10
推荐指数
1
解决办法
6953
查看次数

SolutionDir在构建后的xcopy事件中设置为*Undefined*

我有一个项目,有一个后期构建事件,可以将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)

有任何建议来解决这个问题吗?

msbuild xcopy

10
推荐指数
3
解决办法
1万
查看次数

Dojo在以编程方式更改值时选择onChange事件触发

我有一个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)

谢谢,贾斯汀

dojo dijit.form

10
推荐指数
2
解决办法
2万
查看次数

IE中的ASP.NET Web API

我开始使用新的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浏览器中返回结果呢?

internet-explorer asp.net-mvc-4 asp.net-web-api

10
推荐指数
1
解决办法
6608
查看次数