什么时候从控制器返回"EmptyResult()"是个好主意
所以让我们假设这是我想要实现的:
<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)
这不是我们想要的.
如何将第一部分添加到父节点并添加到我的列表中?
如何在HTML中为收件人设置正确的名称我想使用"mailto"标签.
就像是:
mailto:"John Wayne(jw@email.com)?subject..
Run Code Online (Sandbox Code Playgroud)
我该如何实现?
删除Visual Studio API模板通常附带的所有额外内容的最简洁方法是什么,如果您只想拥有一个WebAPI服务,那么像Views和其他不需要的东西?
我假设文件夹VIEWS用于MVC视图...也许我错了,所有都需要有一个运行的API.
我有一个简单的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) 我有一个名为"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) 我有一个包含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事件(等等)?
当后端发生错误时,MVC控制器通过后端返回消息
ModelState.AddModelError("", "message");
我希望将这个"消息" 显示在2行中,所以我想在其间放一个
或一个."\r\n"
"<br />"
我正在使用Razor来显示消息@Html.ValidationSummary();
但是视图中的HTML输出显示为<br/>
在消息上传递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) 查询:
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字段复制到同一个表中的普通字段.
问题:
我正在开发MVC5中的登录视图.
我想在ViewModel级别设置一个DataAnnotation来声明该字段不接受空格.
MVC中是否有数据注释(像[NoSpaces]这样的东西可以用来不允许字符串字段包含"空格"?
model-view-controller asp.net-mvc data-annotations asp.net-mvc-3
c# ×2
t-sql ×2
asp.net-mvc ×1
fiddler ×1
html ×1
linq-to-xml ×1
sql ×1
sql-server ×1
sql-update ×1
temp-tables ×1
triggers ×1
xelement ×1
xml ×1