小编SF *_*per的帖子

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

XElement =>在运行时添加子节点

所以让我们假设这是我想要实现的:

<root>
  <name>AAAA</name>
  <last>BBBB</last>
  <children>
     <child>
        <name>XXX</name>
        <last>TTT</last>
     </child>
     <child>
        <name>OOO</name>
        <last>PPP</last>
     </child>
   </children>
</root>
Run Code Online (Sandbox Code Playgroud)

不确定使用XElement是否是最简单的方法,
但这是我到目前为止所做的:

 XElement x = new XElement("root",
                  new XElement("name", "AAA"),
                  new XElement("last", "BBB"));
Run Code Online (Sandbox Code Playgroud)

现在我必须根据我的一些数据添加"孩子".
可能有1,2,3,4 ......

所以我需要通过我的列表进行迭代以获得每个孩子

foreach (Children c in family)
{
    x.Add(new XElement("child", 
              new XElement("name", "XXX"),
              new XElement("last", "TTT")); 
} 
Run Code Online (Sandbox Code Playgroud)

问题:

这样我就会错过"CHILDREN Parent节点".如果我只是在foreach之前添加它,它将被渲染为一个封闭的节点

<children/>
Run Code Online (Sandbox Code Playgroud)

这不是我们想要的.

题:

如何将第一部分添加到父节点并添加到我的列表中?

c# xml xelement linq-to-xml

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

"MailTo"...在收件人上设置正确的名称

如何在HTML中为收件人设置正确的名称我想使用"mailto"标签.

就像是:

mailto:"John Wayne(jw@email.com)?subject..
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

html

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

在Visual Studio中启动WebAPI项目的最简洁方法(NO VIEWS)

删除Visual Studio API模板通常附带的所有额外内容的最简洁方法是什么,如果您只想拥有一个WebAPI服务,那么像Views和其他不需要的东西?

我假设文件夹VIEWS用于MVC视图...也许我错了,所有都需要有一个运行的API.

visual-studio asp.net-web-api

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

MVC 3(Razor) - 使用Button事件调用Controller的标准方法

我有一个简单的Wall.cshtml视图加载_Search.cshtml 部分视图,如下所示:

<h2>The Wall</h2>
@{Html.RenderPartial("~/Views/Search/_Search.cshtml");}
Run Code Online (Sandbox Code Playgroud)

_Search.cshtml部分视图(基于@Darin回复更新)如下所示:

@using (Html.BeginForm("Searching", "Search", FormMethod.Post, new { id = "searchForm" }))    
{  
    <div id="search">
        <div id="searchbtn">
           <input id="Search" type="button" value="Search" />
        </div>
        <div id="searchtxt">
           @Html.TextBox("txtSearch")
        </div>
  </div>
}
Run Code Online (Sandbox Code Playgroud)

控制器看起来像这样:

public class SearchController : Controller
{
    public ActionResult Wall()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Searching()
    {
        // do something with the search value
        return View();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,生成的HTML块看起来像这样:

<form action="/Search/Searching" id="searchForm" method="post">  
   <div id="search">
      <div id="searchbtn">
          <input id="Search" type="button" value="Search" />
      </div>
      <div …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-3

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

Fiddler测试API Post传递[Frombody]类

我有一个名为"TestController"的非常简单的C#APIController,其API方法如下:

[HttpPost]
public string HelloWorld([FromBody] Testing t)
{
    return t.Name + " " + t.LastName;
}
Run Code Online (Sandbox Code Playgroud)

联系人只是一个类似于以下的类:

public class Testing
{
    [Required]
    public string Name;
    [Required]
    public string LastName;
}
Run Code Online (Sandbox Code Playgroud)

我的APIRouter看起来像这样:

config.Routes.MapHttpRoute(
     name: "TestApi",
     routeTemplate: "api/{controller}/{action}/{id}",
     defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)

问题1:
如何从C#客户端测试?

对于#2,我尝试了以下代码:

private async Task TestAPI()
{
    var pairs = new List<KeyValuePair<string, string>> 
    {
       new KeyValuePair<string, string>("Name", "Happy"),
       new KeyValuePair<string, string>("LastName", "Developer")
    };

    var content = new FormUrlEncodedContent(pairs);

        var client = new HttpClient();                        
        client.DefaultRequestHeaders.Accept.Add( …
Run Code Online (Sandbox Code Playgroud)

c# fiddler asp.net-web-api

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

T-SQL触发器更新

我有一个包含3个字段的表[ID,Name,LastUpdated].
LastUpdated的默认值为"GetDate(),因此在添加新记录时会自动填充.

当我在TABLE上运行UPDATE时,我希望将此字段重置为当前的GetDate().

CREATE TRIGGER dbo.Table1_Updated
   ON  dbo.Table1
   AFTER UPDATE
AS 
BEGIN
    SET NOCOUNT ON;
    UPDATE dbo.Table1 SET LastUpdated = GETDATE()
END
GO
Run Code Online (Sandbox Code Playgroud)

但是因为我没有WHERE子句,所有记录都会更新.

问题:
我在哪里可以获得UPDATE触发器上更新记录的ID值?

我是否正在更新Trigger中的表字段,重新调用一个新的Trigger事件(等等)?

t-sql triggers

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

MVC3 - 将NEW-LINE传递给ModelState.AddModelError

当后端发生错误时,MVC控制器通过后端返回消息
ModelState.AddModelError("", "message");

我希望将这个"消息" 显示在2行中,所以我想在其间放一个 或一个."\r\n"
"<br />"

我正在使用Razor来显示消息@Html.ValidationSummary();
但是视图中的HTML输出显示为&lt;br/&gt;

在消息上传递New-Lines并将其解释为
HTML输出级别的真实标记的最佳方法是什么?

================================
控制器代码:

ModelState.AddModelError("", "Line one <br /> Line two.");
return Request.IsAjaxRequest() ? (ActionResult) PartialView("ViewName", model) 
            : View(model);
Run Code Online (Sandbox Code Playgroud)

查看代码:

@using (Ajax.BeginForm("Index", "Home", new AjaxOptions { UpdateTargetId = "tv" })) 
{
    @if (Html.ValidationSummary() != null)
        @Html.Raw(Server.HtmlDecode(Html.ValidationSummary(true).ToString()))   

    ....
}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-3

11
推荐指数
2
解决办法
8403
查看次数

临时表更新

查询:

SELECT ID, T.c.value('@Address', 'nvarchar(20)' ) as Address
INTO #TMP
FROM TABLE1
    CROSS APPLY XMLData.nodes('/Document') AS T(c)

UPDATE TABLE1
SET HomeAddress = (SELECT TOP 1 t.Address
                   FROM #TMP t
                   WHERE t.ID = ID)
Run Code Online (Sandbox Code Playgroud)

主要是,我需要将数据OUT从XML字段复制到同一个表中的普通字段.

问题:

  1. 所有记录在Table1上获取HomeAddress的原因是什么?
  2. 真的是Cursor是更新Table1上值的唯一方法吗?

sql t-sql sql-server temp-tables sql-update

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

MVC DataAnnotation接受无空间

我正在开发MVC5中的登录视图.

我想在ViewModel级别设置一个DataAnnotation来声明该字段不接受空格.

MVC中是否有数据注释(像[NoSpaces]这样的东西可以用来不允许字符串字段包含"空格"?

model-view-controller asp.net-mvc data-annotations asp.net-mvc-3

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