小编drn*_*eel的帖子

ASP.NET MVC路由字符串ID?

在ASP.NET 2中,如何创建允许通过字符串id(例如ProductCode)查找对象(例如Product)的路由?通过它的整数id(例如ProductId)查找同一个对象的路由是自动的,所以我实际上并不知道它是如何工作的.

id的自动路由是:

/Product/1
Run Code Online (Sandbox Code Playgroud)

如何创建使用字符串ID的第二条路线?

/Product/red-widget
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能使这两条路线都可用?

asp.net-mvc routes asp.net-mvc-routing

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

cSON中的JSON字符串到CSV和CSV到JSON的转换

我在我的asp.net web API项目中使用JSON/CSV文件,并尝试使用CSVHelperServiceStack.Text库,但无法使其工作.

包含数组的JSON文件是动态的,可能包含任意数量的字段

我使用streamreader读取文件,然后需要将其转换为CSV文件,以便最终用户下载.

示例文件文本

[{"COLUMN1":"a","COLUMN2":"b","COLUMN3":"c","COLUMN4":"d","COLUMN5":"e"},
 {"COLUMN1":"a","COLUMN2":"b","COLUMN3":"c","COLUMN4":"d","COLUMN5":"e"}]
Run Code Online (Sandbox Code Playgroud)

JSON到CSV

public static string jsonStringToCSV(string content)
{
    var jsonContent = (JArray)JsonConvert.DeserializeObject(content);

    var csv = ServiceStack.Text.CsvSerializer.SerializeToCsv(jsonContent);
    return csv;
}
Run Code Online (Sandbox Code Playgroud)

这不会导致我的CSV数据

在此输入图像描述

然后一些文件是带有逗号或制表符的分隔符类型,我想利用CSVHelper将CSV字符串动态转换为IEnumerable

public static IEnumerable StringToList(string data, string delimiter, bool HasHeader)
{
    using (var csv = new CsvReader(new StringReader(data)))
    {
         csv.Configuration.SkipEmptyRecords = true;
         csv.Configuration.HasHeaderRecord = HasHeader;
         csv.Configuration.Delimiter = delimiter;

         var records = csv.GetRecords();
         return records;
     }
}
Run Code Online (Sandbox Code Playgroud)

c# csv json csvhelper

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

c#代码的合并工具

任何人都可以推荐专为合并C#代码而设计的合并工具吗?我追求的功能:

  • 可以识别代码构造(类,方法......)
  • 可以检测那些构造的重新排序
  • 忽略仅重新排序的差异
  • 3路合并
  • 在结果窗格中即时突出显示编译错误.

基本上,我正在寻找一种比Winmerge等经典文件合并工具更具体的工具.通用合并工具的问题在于它们逐行检测到更改,这使得识别已经移动但仍然完全有效的代码块非常困难,更重要的是,识别结果中的编译错误.

diff merge

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

MSBuild web.config转换不起作用

我正在设置CI和D的申请.我创建了一个DEV-Deploy web.config转换,其中包含dev测试环境的连接字符串.

Web配置转换

以下是Web.DEV-Deploy.config连接字符串部分的内容:

  <connectionStrings xdt:Transform="RemoveAttributes(configSource)">
    <add name="DbContext"
      providerName="MySql.Data.MySqlClient"
      connectionString="CXN_STRING"
      xdt:Transform="Insert" xdt:Locator="Match(name)"/>
    <add name="elmah"
      connectionString="CXN_STRING"
      xdt:Transform="Insert" xdt:Locator="Match(name)"/>
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

它应该看起来像:

  <connectionStrings>
    <add name="DbContext" providerName="MySql.Data.MySqlClient"
      connectionString="CXN_STRING"/>
    <add name="elmah" connectionString="CXN_STRING"/>
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

我正在使用命令行构建,我尝试了以下命令,这些命令都不起作用:

msbuild web\web.csproj /T:Package /P:Configuration=DEV-Deploy /P:TransformConfigFiles=true
msbuild web\web.csproj /T:Package /P:Configuration=DEV-Deploy /t:TransformWebConfig
Run Code Online (Sandbox Code Playgroud)

部署任务如下所示:

web.deploy.cmd /Y /M:https://MACHINEIP:8172/msdeploy.axd -allowUntrusted /U:USERNAME /P:PASSWORD /A:Basic
Run Code Online (Sandbox Code Playgroud)

web.config在部署时看起来像这样:

<connectionStrings configSource="connectionStrings.config"></connectionStrings>
Run Code Online (Sandbox Code Playgroud)

我已经在我的本地计算机上尽我所能测试并且无法复制该问题.我需要做什么才能使转换在构建中正常工作?

c# msbuild web-config webdeploy

9
推荐指数
1
解决办法
8787
查看次数

ASP.NET MVC路由:如何定义自定义路由

我已经在网上寻找这个问题的答案,但老实说,我似乎找不到MVC路线的好参考.

我的User对象有一个UserController.可以在用户上编辑,保存,查看等,因此我在该控制器中有操作来处理每个操作.这一切都很简单.但我最近创建了一个新的UserProfile对象,人们也可以编辑,查看等.而不是仅为UserProfile创建一个全新的控制器,我想利用现有的UserController.因此,要查看用户的个人资料,我希望网址为:

http://www.example.com/User/Profile/{userProfileID}
Run Code Online (Sandbox Code Playgroud)

要编辑,我希望URL为:

http://www.example.com/User/Profile/Edit/{userProfileID}
Run Code Online (Sandbox Code Playgroud)

UserController中的每个操作都将返回不同的视图页面.

我如何定义处理这种结构的路线?非常感谢.

asp.net-mvc routes custom-routes

5
推荐指数
1
解决办法
6073
查看次数

为什么在ASP.NET MVC 3中,默认路由不适用于名为"ContentController"的控制器?

我有一个全新的asp.net mvc 3项目.我没有以任何方式修改路线.我有一个控制器PageController和另一个控制器调用ContentController.

当我浏览到domain.com/Page时,页面控制器上的索引操作将按预期执行并显示索引视图.

当我浏览到domain.com/Content时,我收到404错误.如果我浏览到domain.com/Content/Index,那么它可以正常工作.

如何排除这条路线的故障?

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        ); 
    }
Run Code Online (Sandbox Code Playgroud)

我尝试添加其他路线:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        ); 
        routes.MapRoute(
             "Content", …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc routes asp.net-mvc-3

5
推荐指数
1
解决办法
2982
查看次数

样式选择菜单

是否可以设置<select>菜单的样式,如下图所示:

选择菜单

这是一个小提琴,我一直在努力,但无法正确的箭头.

http://jsfiddle.net/nmpxj/

这是HTML:

<select>
  <option>Alabama</option>
  <option>Alaska</option>
</select>
Run Code Online (Sandbox Code Playgroud)

这是CSS:

select {
background: -webkit-linear-gradient(#C9C9C9, #CCC);
background: -moz-linear-gradient(#C9C9C9, #CCC);
border: 1px solid #ccc;
color: white;
text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);    
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
padding:10px;
}
Run Code Online (Sandbox Code Playgroud)

是否可以像这样设置<select>菜单的样式?

html css

5
推荐指数
1
解决办法
1153
查看次数

bootstrap点击通话

我想在我的主页上插入一个点击呼叫按钮.这是我使用Bootstrap(Bootstrap 3.2.0)构建的第一个站点.

请查看代码并帮我弄清楚我做错了什么.谢谢

您可以在这里访问该网站.

<button type="button" class="btn btn-primary btn-xlg" href="tel:713-992-0916" style="padding:20px;background-color:rgba(0,0,238,.5)">
    Click to Call <span class="glyphicon glyphicon-earphone" style="padding-left:10px; padding-right:10px;"></span>713-992-0916
</button>
Run Code Online (Sandbox Code Playgroud)

click button twitter-bootstrap-3

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

MVC - RegisterRoutes

我想重写网址

http://localhost:51639/home/index?id=123
Run Code Online (Sandbox Code Playgroud)

http://localhost:51639/home/product
Run Code Online (Sandbox Code Playgroud)

这是我在Global.asax.cs中的代码

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );
    }
Run Code Online (Sandbox Code Playgroud)

我能做什么?非常感谢

c# url model-view-controller rewrite routes

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

Web部署发布错误版本的程序集

我有一个依赖System.Web.Http.WebHost于我的项目的Web API项目,我在该引用上设置了Copy Local = True,版本(在本例中)是5.2.3.0.

当我通过Web部署将项目发布到服务器时,将发布此程序集的旧版本(5.2.2.x).这似乎只影响某些人在发表时而不是其他人.

我们在其他项目中遇到了与其他程序集相同的问题,因此这只是一个例子.我可以将受影响的程序集添加到服务器的GAC或其他东西,以便在受到影响的用户发布时不会死亡,但我想知道这是如何发生的以及如何避免它.

c# deployment visual-studio webdeploy

4
推荐指数
1
解决办法
1191
查看次数