我有一个视图,其中包含模型中的项目列表.我需要为每一行添加一个复选框,让用户选中多个复选框,并将选择了哪一行的标识符传递给控制器.我知道如何通过动作链接传递单个值,但我不确定如何通过动作链接传递多个值或如何"收集"选择哪些行.我将在下面展示我的一些代码尝试.有人可以帮我理清为什么我无法获得传递给控制器的所有复选框的值吗?
这是我的页面
Checkbox App ID Date Name
[] 1 5/10 Bob
[] 2 5/10 Ted
[] 3 5/11 Alice
Run Code Online (Sandbox Code Playgroud)
我需要用户做的是选择第1行和第3行(例如)并将这些App ID传递给控制器.
我开始列出各种尝试,但决定只显示我当前的尝试,看看是否有人可以指出我做错了什么.我在网上和我的例子中看到的主要区别是我使用PagedList并在foreach循环中创建表的行.
当命中控制器时,参数int为空白.如何从复选框中获取值?我使用这个站点的基本思想是将所有复选框命名为相同,并通过操作链接传递ICollection:http: //haacked.com/archive/2008/10/23/model-binding-to-a-list. ASPX /
视图:
@model PagedList.IPagedList<CarmelFinancialWeb.Models.ModelMerchantSummary>
<div class="block" style="width: 100%; float: left">
<p class="block-heading">
Merchant Application Report
</p>
<div class="table-holder">
<table class="table" style="margin-bottom: 0px">
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
<input type="checkbox" name="ints" value=item.ApplicationID />
</td>
<td>
@Html.ActionLink(item.ApplicationID.ToString(), "ViewApplication", new { ID = item.ApplicationID, edit = 1 }, new AjaxOptions { HttpMethod …
Run Code Online (Sandbox Code Playgroud) 在客户端的某些代码上使用Flash Builder 4.6.单击调试(也尝试运行)并收到此错误:
Process terminated unexpectedly.
initial content not found
Launch command details: "C:\Program Files\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0
\bin\adl.exe" -runtime "C:\Program Files\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0
\runtimes\air\win" -profile mobileDevice -screensize 640x920:640x960 -XscreenDPI 326 -
XversionPlatform IOS "C:\Users\tstiffler\Adobe Flash Builder 4.6\TP\bin-debug\TP-
app.xml" "C:\Users\tstiffler\Adobe Flash Builder 4.6\TP\bin-debug"
Run Code Online (Sandbox Code Playgroud)
我该如何解决?请尽可能详细,因为我之前从未使用过Flash Builder.谢谢!
我是MVC的新手,所以请放轻松我.我收到了一个在MVC中启动的项目,并被告知要添加它.我很好,直到我得到一个需要两个不同模型的数据的部分.现在我被困住了,我的老板昨天想要这样做.如果可以的话请帮忙.
我有一个视图有两个部分视图和一个提交按钮.每个部分视图使用不同的模型.视图在屏幕上显示用户可以改变的信息.然后单击提交按钮.在控制器中,我想访问两个模型中的数据(用户在屏幕上输入的值).现在,我甚至无法通过提交按钮来呼叫控制器.这是我需要立即帮助的部分,但我最终需要知道如何从控制器访问两个模型的数据.
这是我想要做的基本想法:
这是我的观点:CreateContract.cshtml
<div class="container-fluid">
@using (Html.BeginForm("CreateContract", "CreateContract", FormMethod.Post, new { @class = "form-horizontal " }))
{
<div id="PartialDiv">
@{
Html.RenderPartial("ApplicationPartialView", new CarmelFinancialWeb.Models.ModelApplication());
Html.RenderPartial("ContractPartialView");
}
</div>
<input id="btnCreateContract" type="submit" class="btn btn-primary" value="Save" name="CreateContract" />
}
</div>
Run Code Online (Sandbox Code Playgroud)
这是控制器CreateContractController.cs的一部分.当视图打开并且工作正常时,会触发此方法.
[AuthorizeAdmin]
public ActionResult CreateContract(string ID)
{
ModelContract obj_Contract = new ModelContract();
obj_Contract.BuyerName = "MOCS";
return View(@"~/Views/CreateContract/CreateContract.cshtml", obj_Contract);
}
Run Code Online (Sandbox Code Playgroud)
这是控制器CreateContractController.cs的一部分.单击提交按钮时,不会触发此方法.我尝试过包含其他方法的字符串ID变量以及ModelContract和ModelApplication(及其各种组合),但我无法调用此方法.
[AuthorizeAdmin]
[HttpPost]
public ActionResult CreateContract()
{
ModelApplication obj_App = new ModelApplication();
return View(@"~/Views/CreateContract/CreateContract.cshtml", obj_App);
}
Run Code Online (Sandbox Code Playgroud)
这些是部分视图的控制器中的方法.这些也没有被调用.
public PartialViewResult ApplicationPartialView(string ID)
{
ModelApplication obj_App …
Run Code Online (Sandbox Code Playgroud) 我在 Visual Studio 2017 中创建了一个运行良好的 .net 核心 API。当我去部署它时,我收到错误消息 HTTP 错误 500.19,错误代码为 0x8007000d。我在网上找到了多种解决方案,例如确保安装了 Windows 功能、删除 .net CLR 版本、更改应用程序池标识、更改 web.config 和 applicationHost.config,但没有任何效果。有没有办法明确地找出问题所在,或者我是否在无数可能的解决方案中反复试验?你知道任何具体的解决方案吗?
以下是 IIS 设置和我的 Windows 功能的屏幕截图:
这是我的 web.config 文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*"
modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet"
arguments=".\DishbooksAPI.dll"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout"
forwardWindowsAuthToken="false" />
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这是 IIS 错误:
我尝试过的一些 stackoverflow 页面(这不是一个详尽的列表):
我正在尝试在Windows 7机器上的Visual Studio 2013中打开一个asp.net MVC项目.我收到有关无法访问IIS元数据库的错误.我已经尝试过我可以在网上找到的所有建议,但我无法让它发挥作用.我们公司的主要变化是我们的本地文件服务器出现故障.这包含了我的所有文件.我猜我有需要的东西,但我不知道该文件是什么或如何恢复它.我无法对网站进行任何更改,而且我的老板正在追捕我以完成更改,所以我非常绝望.有人可以给我一个解决方案吗?
如果我使用Visual Studio解决方案文件打开该站点,我会收到一条消息,指出项目无法加载.如果我右键单击它并选择重新加载,我会收到一条消息,"创建虚拟目录http:// localhost:1436 /失败并显示错误:无法访问IIS元数据库.您没有足够的权限访问您计算机上的IIS网站."
如果我打开网站作为一个网站(不使用解决方案或项目文件),我收到错误"配置IIS Express失败,出现以下错误:无法访问IIS元数据库.您没有足够的权限访问IIS Web你机器上的网站."
这是我尝试过的所有内容的列表.这似乎是人们所拥有的大多数想法,但我希望你能找到另一种解决方案.
去了%systemroot%\ System32\inetsrv\config
卸载/重新安装IIS
修复了Visual Studio 13
更改.csproj文件
<UseIISExpress>false</UseIISExpress>
<UseIIS>False</UseIIS>
<IISUrl></IISUrl>
以管理员身份运行Visual Studio
删除默认网站并重新创建
修复了IIS
我有一个名为MongoDB的集合,properties
以及一个名为的集合中的另一个新数据集合newProperties
.
我想用两个表中saleNumber相同的所有记录的新值更新单个字段(amountOwed). properties
newProperties
当我对值进行硬编码时,我已经能够编写单个更新脚本.在使用数组然后使用forEach循环解析它时,我无法使更新脚本正常工作.有人可以解释如何做到这一点?
所以我从一个名为properties
this 的集合开始(我只包括相关字段):
{
"_id" : ObjectId("551816b02eecf1238b3baadb"),
"saleNumber" : NumberInt(17917),
"saleDetails" : {
"amountOwed" : 266.0,
}
}
{
"_id" : ObjectId("551816b02eecf1238b3baadc"),
"saleNumber" : NumberInt(851400070),
"saleDetails" : {
"amountOwed" : 270.0,
}
}
Run Code Online (Sandbox Code Playgroud)
我导入一个名为newProperties
this 的新集合(请注意amountOwed已更改为salesNumber 17917 的记录):
{
"_id" : ObjectId("551816b02eecf1238b3baadb"),
"saleNumber" : NumberInt(17917),
"saleDetails" : {
"amountOwed" : 300.0,
}
}
Run Code Online (Sandbox Code Playgroud)
我要的是更新properties.saleDetails.amountOwed
与价值newProperties.saleDetails.amountOwed
的地方saleNumbers匹配.
这是我写的查询:
newActiveProperties.forEach(function(doc) …
Run Code Online (Sandbox Code Playgroud) 我有一个继承的MVC项目.在视图上,BeginForm标记中没有指定路由(控制器和操作).视图呈现正确,因此我假设它正在选择默认路由.
我的问题是,如果没有指定路线,它是如何知道使用的路线?这里的最佳做法是:您是指定路线还是让它默认?
所以视图是Views/Config/WorkCodes.cshtml,标签是
Html.BeginForm()
Run Code Online (Sandbox Code Playgroud)
它进入控制器ConfigController.cs并调用操作WorkCodes().如果我正在做这个项目,我会写的
Html.BeginForm("WorkCodes", "Config", FormMethod.Post)
Run Code Online (Sandbox Code Playgroud)
MVC如何知道使用哪个控制器和操作而不指定它?
WorkCodes.cshtml
@{
ViewBag.Title = "Work Codes";
}
@using (Html.BeginForm())
{
<div>
<table style="width: 100%;" class="trHoverHighlight">
<tbody>
<tr>
<td>
<br />
<div>
<button id="buttonCreateNew" type="button">Add New</button>
<button id="buttonReturn" type="button">Return</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
}
ConfigController.cs
public ActionResult WorkCodes()
{
return View(Rep.GetWorkAll(true));
}
Run Code Online (Sandbox Code Playgroud)
这是从另一个视图中调用视图的位置:
@foreach (var itm in (List<string>)ViewBag.ListObjects)
{
<li>
<a href="../Config/@itm">Work Codes</a>
</li>
}
Run Code Online (Sandbox Code Playgroud) 我有一个C#,Kendo MVC,Razor网站.有一个Kendo网格,其中一个单元格有一个指向pdf文件的超链接,如下所示:
<a href="http://example.com/Files/File123.pdf" target="_blank">File 123</a>
Run Code Online (Sandbox Code Playgroud)
单击该链接可在新的浏览器选项卡中打开pdf.问题是,URL在浏览器中可见,可以更改为查看另一个文件.例如,用户可以用456替换123,并参见File456.pdf.我需要做两件事:
或者,我想点击链接(没有用户看到URL)并下载文件,但我认为是下载还是查看文件是特定于浏览器的.
我只是创建一个事件来将用户发送回控制器并处理打开或下载,但是Kendo网格使其变得复杂,并且通常需要立即更改.我将就如何操纵Kendo行打开pdf提出建议,但我希望有一种简单的方法可以更改只是隐藏用户的URL.
我有一个没有代码的ASPX页面(也就是说,没有.aspx.cs
相同的名称).在代码中是这一行:
<div style="overflow: hidden; text-align: center; z-index: 105;">
<%= MainNavBarHTML %><%= SubNavBarHTML %>
</div>
Run Code Online (Sandbox Code Playgroud)
我搜索程序的休息MainNavBarHTML
和SubNavBarHTMl
,却找不到他们的任何引用.我怎样才能找到填充这些元素的内容?
我已经使用C#在.NET Core 2中创建了一个API。它返回ActionResult
带有状态代码和字符串消息的。在另一个应用程序中,我使用Flurl调用API。我可以获取状态码号,但是找不到消息的方式。我如何获取消息,或者需要什么更改API才能以某种方式将消息放入Flurl即可获取?
这是API的代码。在此示例中,“消息”为“对不起!”。
[HttpPost("{orderID}/SendEmail")]
[Produces("application/json", Type = typeof(string))]
public ActionResult Post(int orderID)
{
return StatusCode(500, "Sorry!");
}
Run Code Online (Sandbox Code Playgroud)
这是另一个调用API的应用程序中的代码。我可以使用获取状态代码编号(500),(int)getRespParams.StatusCode
并使用获取状态代码文本(InternalError)getRespParams.StatusCode
,但是如何获得“抱歉!” 信息?
var getRespParams = await $"http://localhost:1234/api/Orders/{orderID}/SendEmail".PostUrlEncodedAsync();
int statusCodeNumber = (int)getRespParams.StatusCode;
Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×4
c# ×3
asp.net-core ×2
iis ×2
razor ×2
.net-core ×1
air ×1
apache-flex ×1
api ×1
api-design ×1
asp.net ×1
checkbox ×1
debugging ×1
deployment ×1
download ×1
flash ×1
flurl ×1
html ×1
html-helper ×1
hyperlink ×1
iis-7 ×1
iis-metabase ×1
kendo-ui ×1
mongodb ×1
webforms ×1
windows-7 ×1