小编Ser*_*Now的帖子

JQuery Post Call中的相对URL

我有以下情况.

我开发了我的第一个MVC Asp.Net应用程序.它在我的服务器上运行以下地址

http://localhost:59441/
Run Code Online (Sandbox Code Playgroud)

我写了一些看起来像这样的JQuery Post Methods

  $.ajax({
        type: "POST",
        url: "/CeduleGlobale/UpdateCheckBox", ...
Run Code Online (Sandbox Code Playgroud)

CeduleGlobale是我的ControllerName,UpdateCheckBox是我的methodName

当我将应用程序放在testServer上时,它被放在VirtualDirectory中

因此现在申请

http://testServer/JprApplication/
Run Code Online (Sandbox Code Playgroud)

没有更多要指定的端口以及应用程序名称

当我开始测试时,我很快发现我的JQuery Post调用不再起作用了......

我修改了它们,所以现在URL是

/JprMvc/CeduleGlobale/UpdateCheckBox
Run Code Online (Sandbox Code Playgroud)

问题是2倍.

  1. 这使我很难在我的开发机器上进行测试,因为IIS Express不允许我指定虚拟目录.
  2. 我不喜欢在JQuery中硬编码虚拟目录名称,因为我不知道应用程序在生产环境中将具有什么名称,因此我必须先修改我的脚本才能在生产环境中安装应用程序.

我确信我遗漏了一些基本的东西来简化这个.

谢谢

asp.net-mvc jquery url-routing

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

根据参数类型调用函数

我想弄清楚如何简化以下内容

假设我有2个实体类

public class A
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string City { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和

public class B
{
    public int Id { get; set; } 
    public string Nom { get; set; }
    public string Ville { get; set; }
} 
Run Code Online (Sandbox Code Playgroud)

类似但不相同的类.

每个类都有一个用于CRUD操作的存储库类,例如......

public class RepA
{
    public static List<A> GetAll()
    {
        List<A> list = new List<A>();

        A a1 = new A() {Id=1, Name="First A", City="Boston"}; …
Run Code Online (Sandbox Code Playgroud)

.net c# generics interface list

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

DevExpress MVC ComboBox在提交时使用TextField而不是ValueField

我在视图中使用DevExpress.ComboBoxFor.

@using (Ajax.BeginForm(actionName: "DetailPartialAction", controllerName: "CeduleDepartementale", ajaxOptions: new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = "target" }))
{
  @Html.DevExpress().LabelFor(x => x.CeduleDateFrom) 
  @Html.EditorFor(x => x.CeduleDateFrom) 
  @Html.LabelFor(x => x.CeduleDateTo) 
  @Html.EditorFor(x => x.CeduleDateTo) 
  @Html.LabelFor(x => x.WorkCenter) 
  @Html.DevExpress().ComboBoxFor(x => x.WorkCenter, 
  settings => 
               { 
                 settings.Name = "WorkCenter"; 
                 settings.Width = 180; 
                 settings.SelectedIndex = 0; 
                 settings.Properties.TextField = "Name"; 
                 settings.Properties.ValueField = "No"; 
                 settings.Properties.ValueType = typeof (string); 
}).BindList(CeduleProduction.Repository.Concrete.WorkCenterRepository
.GetAll()).GetHtml() 

<input type="submit" value="OK"/>}
Run Code Online (Sandbox Code Playgroud)

当我提交表单时,不使用valuefield,它是textfield,我需要更改以允许传递值(未显示)而不是显示的textfield

c# asp.net-mvc devexpress

8
推荐指数
0
解决办法
1573
查看次数

施法的正确方法是哪种?

我有这个界面:

public interface IEntity
{
    int Id{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

一类:

public class Customer: IEntity
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的用法:

void Main()
{
    List<Customer> list =  new List<Customer>();
    IEntity obj = null;
    obj = new Customer() {Id = 4, Name="Jenny", Age =41};
    list.Add(obj as Customer);  /*Line #1*/     
    list.Add((Customer)obj); /*Line #2*/        
}
Run Code Online (Sandbox Code Playgroud)

这被认为是最佳做法:第1行或第2行?

c#

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

使用linq在C#中使用键值对解析XML

我有以下XML

<?xml version="1.0"?>
<NavResponse>
<Response>
<Products>
<Product>
<field name="Id" value="BST-U3009W"/>
<field name="Point" value="1"/>
</Product>
<Product>
<field name="Id" value="BST-U5047W"/>
<field name="Point" value="1"/>
</Product>
<Product>
<field name="Id" value="BST-U7023W"/>
<field name="Point" value="1"/>
</Product>
<Product>
<field name="Id" value="BST-U9007"/>
<field name="Point" value="1"/>
</Product>
<Product>
<field name="Id" value="BTS-U8010"/>
<field name="Point" value="1"/>
</Product>
</Products>
</Response>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Errors/>
</NavResponse>
Run Code Online (Sandbox Code Playgroud)

我想把它变成一个产品清单

产品在哪里

public class Product
{
    public string Id {get;set;}
    public int Point {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我尝试过这样使用Linq

XDocument fooXML = XDocument.Load(@"c:\fred\foo.xml");
Run Code Online (Sandbox Code Playgroud)

然后这个

var pairs = XDocument.Parse(fooXML.ToString())
                .Descendants("field")
                .Select (xd => …
Run Code Online (Sandbox Code Playgroud)

c# xml parsing

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

标签 统计

c# ×4

asp.net-mvc ×2

.net ×1

devexpress ×1

generics ×1

interface ×1

jquery ×1

list ×1

parsing ×1

url-routing ×1

xml ×1