我已经看到了一些线程,但似乎没有一个适用于MVC4,因为RadioButtonFor html扩展方法/帮助程序不存在.
说我有一个枚举列表 - 即航空公司:
public enum Airlines
{
Unknown = 0,
BritishAirways = 1,
VirginAtlantic = 2,
AirFrance = 3
}
Run Code Online (Sandbox Code Playgroud)
如何将其绑定到我的视图上的单选按钮列表,并能够检索所选项目?如果没有选择,可以说"选择一个项目"怎么样?
我有一个带有1个字符串属性的简单模型,我在一个简单的视图上渲染.
视图如下所示:
@using (Html.BeginForm("UploadFile", "Home", FormMethod.Post, new { encType="multipart/form-data" }))
{
@Html.TextBoxFor(m => m.FirstName)
<br /><br />
<input type="file" name="fileUpload" /><br /><br />
<input type="submit" value="submit me" name="submitme" id="submitme" />
}
Run Code Online (Sandbox Code Playgroud)
控制器是这样的:
[HttpPost]
public ActionResult UploadFile(UploadFileModel model, HttpPostedFileBase file)
{
// DO Stuff
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
现在,当我提交时,模型DOES被填充但第二个参数是HttpPostedFileBase为null.但是,当执行Request.Files时 - 它似乎表明在发布的请求中有一个文件.我怎么能真正得到第二个参数绑定?
我们都知道IE11检测不适用于服务器端语言,因为微软已经删除了IE/MSIE浏览器指示,现在完全是"Mozilla".
我也知道做浏览器检测/版本存在风险,但过去一直很好.
网站的一些要求是这样的:
必须使用某些版本的firefox及以上必须使用某些版本的chrome及以上必须使用某些版本的safari(一些下面和一些较新的)必须使用IE> = 8
所以这就是问题... IE11在我的列表中指出它不受支持.我想从服务器上的东西的Web端支持它(ASP.NET/MVC)
目前尚不清楚如何从服务器端检测到这一点.有谁知道怎么样?
这是IE 11中显示的用户代理:
"像Gecko一样的Mozilla/5.0(Windows NT 6.1; WOW64; Trident/7.0; rv:11.0)"
rv:11.0告诉我们它的IE11,然而对它进行解析仍然意味着,例如,它可能是某个版本的chrome,在这样的要求中甚至不支持firefox.
那么,在这里看看IE 11或更高版本的最佳方式是什么?
我不太确定从"Trident"开始搜索,因为我不知道其他浏览器是否使用它.
欢迎任何方向.
所以,我正在使用Web API(ASP.NET Core 2)并遇到路由问题.
我有几个控制器,如:
SchoolController
TeacherController.
两者都有获取: Get(int id)
问题是当我运行它时,我甚至在实际能够调用方法之前就会遇到运行时错误.
Attribute routes with the same name 'Get' must have the same template:
Action: MyProject.WebAPI.Controllers.SchoolController.Get (MyProject.WebAPI)' - Template: 'api/school/{id}'
Action: MyProject.WebAPI.Controllers.TeacherController.Get (MyProject.WebAPI)' - Template: 'api/teacher/{id}'
Run Code Online (Sandbox Code Playgroud)
当控制器应该拥有自己的Get等时,为什么会这样做...所以你可以这样做:
/api/{controller}/1
etc... ?
Run Code Online (Sandbox Code Playgroud)
现在,我还有另一个Get方法,它们都在它们的控制器中但具有不同的方法签名以及不同的HttpGet名称,即:
// TeachersController:
[Produces("application/json")]
[Route("api/teacher")]
public class TeacherController : Controller
{
// GET: api/Teacher/5
[HttpGet("{id}", Name = "Get")]
public IActionResult Get(int id)
{
// BLAH
}
}
Run Code Online (Sandbox Code Playgroud)
并为学校控制员:
[Produces("application/json")]
[Route("api/school")]
public class SchoolController : Controller
{
[HttpGet("{id}", Name = "Get")]
public …
Run Code Online (Sandbox Code Playgroud) c# .net-core asp.net-core asp.net-core-webapi asp.net-core-routing
我的脑袋非常糟糕!我以前做过这个,但不是"深入"或复杂,我已经尝试了不同的方法来实现这一点,但都失败了.
所以,这是app.config中我想要的自定义XML:
<Profiles> <!--Collection-->
<Profile Name="Live">
<Components>
<Component Name="Portal" Type="Web" />
<Component Name="Comms" Type="Web" />
<Component Name="Scheduler" Type="WindowsService" ServiceName="LiveScheduler" />
</Components>
<Databases>
<Database Name="Main" Connection="Data Source=.\SQL2008" />
<Database Name="Staging" Connection="Data Source=SomeSite.co.uk" />
</Databases>
</Profile>
<Profile Name="Test">
<Components>
<Component Name="Portal" Type="Web" />
<Component Name="Comms" Type="Web" />
<Component Name="Scheduler" Type="WindowsService" ServiceName="TestScheduler" />
</Components>
<Databases>
<Database Name="Main" Connection="Data Source=.\SQL2008" />
<Database Name="Staging" Connection="Data Source=Internal" />
</Databases>
</Profile>
</Profiles>
Run Code Online (Sandbox Code Playgroud)
所以Profile的集合,每个配置文件都有一个子元素集合(Components是一个集合,Component是一个元素)
但是我目前除了多个配置文件之外还有其他所有功能.我有点看到问题,但不知道如何"修复"它.
码:
public class Profile : ConfigurationSection
{
[ConfigurationProperty("Name", IsRequired=true)]
public string Name
{ …
Run Code Online (Sandbox Code Playgroud) 我有一个WCF服务.它与MSMQ绑定,但这不是问题.我可以序列化一个对象,它有一个基类和一个在基类中实现的接口,具体类派生自基类 - 这很好.
但是,当我在基类中有一个枚举并且我设置了该值时,在从MSMQ反序列化/读取之后,该值仍然设置为默认值(即不是在代码中手动设置的值)
有什么想法吗?我甚至将枚举标记为DataContract以及每个具有EnumMember属性的Enum成员.
如何序列化枚举?
我有这个:
$("#MyInputBox").keypress(function (e) {
if (e.charCode != 0) {
var regex = new RegExp("^[a-zA-Z0-9\-\s]+$");
var key = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (!regex.test(key)) {
e.preventDefault();
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud)
问题是,它不允许我进入空间.我希望它允许一个空间.其他一切都很好(即我可以输入数字,字母,短划线......但不能输入空格.)
我正在尝试在VS2012中为MVC站点进行Web测试.其中一个方案是登录并浏览产品列表,选择所需产品并按照购买页面进行操作.
问题是,当运行Web测试时,我收到有关防伪标记的错误,并且它不匹配.
如何用防伪令牌进行测试呢?用户必须登录 - 将有数千名用户进行负载测试(最终),但需要首先使其适用于1位用户.
登录视图/操作在控制器的视图和验证中执行AntiForgeryToken.
任何建议和提示表示赞赏.
我正在使用MVC 4,我希望能够从表中的行集合中验证单行,以确保正确输入字段并通过验证.
属性在模型上正确应用,例如:
[Required]
[MaxLength(50)]
[MinLength(5)]
public string Name {get; set;}
Run Code Online (Sandbox Code Playgroud)
现在,在客户端 - 如何在调用AJAX方法之前启用客户端验证?
为了增加更多的复杂性 - 我有一个按钮,你可以动态地向表中添加一行,填写字段,最后点击更新按钮,它将通过ajax进行POST.但在此帖之前,我想在客户端验证该特定行.
我怎样才能做到这一点?
谢谢
因此,我试图找出如何执行以下操作:
想象一下,我有很多客户。它包含以下属性:
现在,对于每个客户,它都有发票的集合。每个发票包含以下属性:
我有从服务检索的数据并存储在本地。因此,一个客户集合,每个客户都有发票。到目前为止,一切都很好?很容易理解!
现在,我有了一个RDLC,并通过添加数据集(它是代码库中的模型)来显示客户集合。很好,绑定并处理和显示我需要的数据。
我现在遇到的困难是如何显示该记录的发票清单(当前客户)。
任何想法如何做到这一点?我什至不知道如何开始或使用什么,所以请不要说“您尝试了什么?” -我什至不知道从哪里开始,因此这个问题是无效的!:-)
目前在表格上我有一个tablix。Tablix指向客户数据集(DataSet1),并添加了字段以显示该数据集的属性值。
接下来,我需要它,以便在tablix或其他内容中提取该记录的发票并将其呈现(带有标题)
我被困住了,希望能向正确的方向提供指导。
呈现报告查看器的代码(这一点现在一点都不重要-这是我遇到的RDLC):
public void RunReport<T>(List<T> reportData, List<ReportParameter> parameters, string reportLayout)
{
var viewer = ReportViewerHost.Child as Microsoft.Reporting.WinForms.ReportViewer;
viewer.Reset();
viewer.ProcessingMode = ProcessingMode.Local;
viewer.LocalReport.ReportEmbeddedResource = "PlayPen.ReportLayouts." + reportLayout + ".rdlc";
viewer.LocalReport.SetParameters(parameters);
viewer.SetDisplayMode(DisplayMode.PrintLayout);
viewer.ZoomMode = ZoomMode.PageWidth;
viewer.LocalReport.DataSources.Clear();
viewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", reportData));
viewer.RefreshReport();
}
Run Code Online (Sandbox Code Playgroud)
调用方式:
this.reportViewer.RunReport(this.OutstandingInvoices, new List<ReportParameters>(), "OutstandingInvoices");
Run Code Online (Sandbox Code Playgroud)
谢谢。
c# ×5
asp.net-mvc ×3
asp.net ×2
.net ×1
.net-core ×1
app-config ×1
asp.net-core ×1
jquery ×1
msmq ×1
razor ×1
rdlc ×1
reportviewer ×1
validation ×1
wcf ×1
web-testing ×1