小编Cia*_*uen的帖子

我的视图中没有显示ModelState.AddModelError

我有以下视图,它创建了10个ajax.beginform,但是我面临的问题是在创建对象期间发生错误然后尽管我已经设置了ModelState.AddModelError但不会在视图上显示该@Html.ValidationSummary(true) 视图看起来如下

@model Medical.Models.VisitLabResult

@for (int item = 0; item < 10; item++)
{
    <tr id = @item>
    @using (Ajax.BeginForm("CreateAll", "VisitLabResult", new AjaxOptions
    {
        HttpMethod = "Post",
        UpdateTargetId = item.ToString() + "td",
        InsertionMode = InsertionMode.Replace,
        LoadingElementId = "progress2",
        OnSuccess = string.Format(
            "disableform({0})",
            Json.Encode(item)),
    }))
    {  
        @Html.ValidationSummary(true)

        @Html.AntiForgeryToken()
        <td>
            @Html.DropDownList("LabTestID", String.Empty)
            @Html.ValidationMessageFor(model => model.LabTestID)
        </td>
        <td>
            @Html.EditorFor(model => model.Result)
            @Html.ValidationMessageFor(model => model.Result)
        </td>

        <td>
            @Html.EditorFor(model => model.DateTaken)
            @Html.ValidationMessageFor(model => model.DateTaken)
        </td>

        <td>
            @Html.EditorFor(model => model.Comment)
            @Html.ValidationMessageFor(model => model.Comment)
        </td>

        <td> …
Run Code Online (Sandbox Code Playgroud)

razor asp.net-mvc-3

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

从Asp.Net Core WebAPI返回jpeg图像

使用asp.net核心web api,我想让我的控制器动作方法返回一个jpeg图像流.
在我当前的实现中,浏览器仅显示json字符串.我的期望是在浏览器中看到图像.

在使用chrome开发人员工具进行调试时,我发现内容类型仍然存在

Content-Type:application/json; charset=utf-8

在响应头中返回,即使在我的代码中我手动将内容类型设置为"image/jpeg".

寻找解决方案 My Web API如下所示

[HttpGet]
public async Task<HttpResponseMessage> Get()
{
    var image = System.IO.File.OpenRead("C:\\test\random_image.jpeg");
    var stream = new MemoryStream();

    image.CopyTo(stream);
    stream.Position = 0;            
    result.Content = new StreamContent(image);
    result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
    result.Content.Headers.ContentDisposition.FileName = "random_image.jpeg";
    result.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
    result.Content.Headers.ContentLength = stream.Length;

    return result;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

content-type asp.net-core asp.net-core-webapi

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

从后面的代码更新时,asp.net隐藏字段不保留值

我正在使用隐藏字段在asp.net页面中存储值.基本上,每当表单上的值更改时,我都会设置隐藏字段的值,即名字,日期等.该字段位于具有母版页并位于内容部分的网页表单中:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <asp:HiddenField ID="hdnDirtyFlag" runat="server" Value='false' />
Run Code Online (Sandbox Code Playgroud)

每当onchange事件在Web表单上的其他控件中触发时,我通过调用函数来更改javascript中字段的值:

<asp:TextBox CssClass="niceInput" ID="tbFirstName" runat="server" MaxLength="40" Width="150" onchange='SetHiddenVariable();'></asp:TextBox>

 <script type="text/javascript">
     function SetHiddenVariable() {
         // Set the value of the hidden variable so we know a field has been updated
         var hiddenControl = '<%= hdnDirtyFlag.ClientID %>';
         document.getElementById(hiddenControl).value = 'true';
     }
</script>
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.当页面加载时,隐藏字段值为"false",如果我不更改webform上的任何值,则它仍为false.每当我更改另一个控件时,javascript函数都会被调用,隐藏字段值会更新为"true".这一切都很好.

提交表单并更新数据库后,我在后面的代码中将隐藏字段值设置回'false':

hdnDirtyFlag.Value = "false";
Run Code Online (Sandbox Code Playgroud)

但是,当我单击另一个按钮并进行回发时,隐藏的字段值仍为"true".

谁能解释为什么会这样?我介绍了后面的代码,并在更改值后立即看到值为'false'.页面上有一个asp:UpdatePanel,但隐藏字段不是此面板的一部分.

编辑:

这是我在第一次回发的最后一步中将其设置为false后,在第二次回发中检查后面代码中的字段值的代码.由于某种原因,在第二次回发中,值在客户端的javascript中设置为true,然后在代码后面设置为false,如上所示:

if (hdnDirtyFlag.Value == "true")
{
    UpdateSecurityObject(); 
}
Run Code Online (Sandbox Code Playgroud)

javascript asp.net hidden-field

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

无法隐式转换类型'int?' 'int'

在这个查询中我有3条记录(int-(telefon = d.telefon),decimal-(pesel = d.pesel),decimal-(nip = d.nip))另一条记录是字符串.

public ActionResult detail(int LoginID)
{
    var user = (from d in baza.uzytkowniks
                where LoginID == d.LoginID
                select new uzytkownikModel {
                    imie = d.imie, 
                    nazwisko = d.nazwisko, 
                    telefon = d.telefon, 
                    pesel = d.pesel, 
                    nip = d.nip, 
                    email = d.email, 
                    adres_zamieszkania = d.adres_zamieszkania}).ToList();

    ViewBag.daneuser = user;
    return View();
}
Run Code Online (Sandbox Code Playgroud)

我有错误:

无法隐式转换类型'int?' 'int'.存在显式转换(您是否错过了演员?)

和'十进制'两个错误?而不是'int?'.

模型:

 public class uzytkownikModel
    {
    [Required]
    public string imie { get; set; }

    [Required]
    public string nazwisko { get; set; …
Run Code Online (Sandbox Code Playgroud)

linq

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

添加属性以选择列表选项

我在Razor视图的下拉列表中有一个项目列表.在数据库中,每个项目都有3个与之关联的值 - 数据库ID,短名称(用于显示)和长名称(用于传递给服务).下拉列表必须显示短名称,因此我填充下拉列表,其中数据库ID为值,短名称为文本.

然而,当用户选择项目时,我需要将长名称作为查询参数传递给使用jQuery的搜索服务,例如当选择Cortina时,需要将"Ford Cortina 1979 Blue"传递给该服务.我的第一个想法是将长名称存储为数据短划线属性,但我想知道是否有更好的方法.所以

  • 如何在下拉列表中存储所有3个值?
  • 如果我使用数据短划线属性,如何将所有LONG_NAME值合并到Html.DropDownListFor中或以某种方式将它们添加到下拉列表中?

D B:

CARID SHORT_NAME LONG_NAME
1     Viper     Dodge Viper 1982
2     Boxster   Porsche Boxster 2009 Black
3     Cortina   Ford Cortina 1979 Blue
Run Code Online (Sandbox Code Playgroud)

控制器助手创建下拉列表:

public static IEnumerable<SelectListItem> GetSelectList(this IEFRepository repository, string typeName)
{
    var vehicle = repository.TypeTypes.FirstOrDefault(t => t.Name.ToUpper() == typeName);
    if (vehicle != null)
    {
        var carList = vehicle.SubTypes.ToList().OrderBy(s => s.Name);
        var selectList = new SelectList(subTypeList, "SubTypeID", "Name");

        return selectList;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我用来创建下拉列表的代码:

<div class="editor-field">
    @Html.DropDownListFor(model => model.CarID,
        new SelectList(ViewBag.Cars, "Value", …
Run Code Online (Sandbox Code Playgroud)

html.dropdownlistfor razor asp.net-mvc-3

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

Jquery自动完成2个输入字段(同一类)

我有两个输入字段,如下所示:

<input name="accountCode" class="accountCode grid_2"/>
<input name="accountCode" class="accountCode grid_2"/>
Run Code Online (Sandbox Code Playgroud)

我希望在这两个领域都有自动完成功能.我写了以下JavaScript:

$(".accountCode").autocomplete(
{
    minLength : 1,
    source : function(request, response) {
        $.ajax({                            
            url : baseUrl + "Autocomplete/Account?accountCode=" + $(this).val(),
            dataType : "json",
            success : function(data) {
                response($.map(data, function(item) {
                    return {
                        value : item.accountCode,
                        desc : item.accountName
                    }
                }));
            }
        });
    },
    focus : function(event, ui) {                   
        $(this).val(ui.item.accountCode);
        return false;
    },
    select : function(event, ui) {
        // $("#category").val( ui.item.name );
        $(this).val(ui.item.value);
        // $( "#project-description" ).html( ui.item.desc );
        return false;
    }
}).data("autocomplete")._renderItem …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui autocomplete

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

在Oracle SQL Developer代码窗口中使用变量运行sql代码

我正在使用Oracle SQL Developer编写代码.我有一个简单的select语句有效:

    SELECT
      CFS.CAE_SEC_ID,
      CFS.FM_SEC_CODE,
      CFS.LAST_USER_ID,
      case 
          when 1 = 1 then
            sl.usbank_to_edit
          else
            case 
              when 'ENT\CB174' = CFS.last_user_id then
                sl.owner_to_edit
              else
                sl.to_edit
            end
        end canEdit
    FROM
    CAEDBO.CAE_FOF_SECURITY CFS
    INNER JOIN caedbo.CAE_DATA_SET_ELEMENT CDSE_STAT 
        ON (CDSE_STAT.DATA_SET_ELEMENT_ID = CFS.APPR_STATUS)
    INNER JOIN caedbo.CAE_STATE_LOOKUP sl 
        ON (sl.object_state =  CDSE_STAT.data_set_element_id)
   where 
      cfs.CAE_SEC_ID in (3741, 3744, 3748, 3752);
Run Code Online (Sandbox Code Playgroud)

但是我想为它添加一些变量并引用语句中的变量,类似于下面的内容,并且还在代码窗口中运行它.我该怎么做呢?

DECLARE 
  p_USBank_n NUMBER;
  p_user_id_c VARCHAR2(20);
BEGIN  
  p_USBank_n := 1; 
  p_user_id_c := 'ENT\CB174';

    SELECT
      CFS.CAE_SEC_ID,
      CFS.FM_SEC_CODE,
      CFS.LAST_USER_ID,
      case 
          when p_USBank_n = 1 then
            sl.usbank_to_edit
          else
            case 
              when …
Run Code Online (Sandbox Code Playgroud)

oracle plsql oracle-sqldeveloper

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

ValidationMessage中的换行符

我正在测试一个null列表.每次我找到一个,我都将它保存在一个数组中,以在验证消息中实现它.

我想要的输出看起来像这样:

需要字段1
字段4是必需的
等等...

但我似乎无法开始一条新线.

现在,它看起来像这样:

需要字段1字段4是必需的

有谁知道如何实现这一目标?

编辑:

控制器:

IDictionary<int, String> emptyFields = new Dictionary<int, String>();

foreach (Something thing in AnotherThing.Collection)
{
    if (thing.Property == null)
        emptyFields.add(thing.Index, thing.Name);                   
}

if (emptyFields.Any())
    throw new CustomException() { EmptyFields = emptyFields };
Run Code Online (Sandbox Code Playgroud)

此处处理此异常:

catch (CustomException ex)
{                   
    ModelState.AddModelError("file", ex.GetExceptionString());
    return View("theView");
}    
Run Code Online (Sandbox Code Playgroud)

CustomException:

public class CustomException: Exception
{
    public IDictionary<int,String> EmptyFields { get; set; }
    public override String Label { get { return "someLabel"; } }
    public override String GetExceptionString()
    { …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc newline line-breaks asp.net-mvc-3 validationmessage

13
推荐指数
2
解决办法
9087
查看次数

Amazon EC2 Linux实例中的GUI

我想使用Amazon EC2,但我需要知道是否存在带有GUI的Linux发行版的AMI.

user-interface amazon-ec2 amazon-web-services

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

提交前JQuery需要Checkbox和单选按钮

我正在努力解决这个问题.现在正在查看JQuery验证的示例和工具超过3个小时.

我想要做的就是要求选中一个复选框和一个单选按钮,但我不在乎需要哪一个.

<form id="form1" action="/controller/action" method="post">
    <div class="checkbox"><input type="checkbox" name="box1" class="cBox" /><label for="box1" class="label">Box1</label></div>
    <div class="checkbox"><input type="checkbox" name="Box2" class="cBox" /><label for="Box2" class="label">Box2</label></div>
    <div class="checkbox"><input type="checkbox" name="Box3" class="cBox" /><label for="Box3" class="label">Box3</label></div>
    <div class="radio"><input type="radio" name="print" value="Radio1" class="rad" /><label class="label">Radio1</label></div>
    <div class="radio"><input type="radio" name="print" value="Radio2" class="rad" /><label class="label">Radio2</label></div>
    <div class="radio"><input type="radio" name="print" value="Radio3" class="rad" /><label class="label">Radio3</label></div>
    <input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

forms validation jquery

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