小编Met*_*Man的帖子

OnClientClick代码阻止验证工作

我已经在asp.net按钮的OnClientClick属性中添加了代码,现在验证控件无法正常工作.当我删除OnClientClick代码时,验证工作.

我怎样才能使它们都起作用?

<asp:Button 
ID="btnNext" 
runat="server" 
Text="Save & Continue" 
SkinID="btnContinue" 
OnClick="btnNext_Click"  
OnClientClick="_changesMade=false; return true;" 
ValidationGroup="vgPreMedSchool" Width="176px" />
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net jquery

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

DataGridView C# 编辑模式期间行中的默认值

我有一个程序,用于使用 gridview 将值输入到数据库中。gridview 填充了来自 DataSet 的“空”结果,该数据集从我想要的表中查询该数据库。这会用我想要的正确列填充网格(即,具有来自数据库中某个表的空行的网格)。当您填写列时,我会获取数据并手动更新数据库。

我如何使用 gridview 的基本示例:

this.fullUutDataTableAdapter.Fill(this.dalsaUutDataSet.ResultsFullUut);  
DataView dv = this.dalsaUutDataSet.ResultsFullUut.DefaultView;
Grid_modify.DataSource = dv;            
foreach(DataGridViewRow dr in Grid_modify.Rows)
{
    dr.Cells["YieldID"].Value = -1;
}
Run Code Online (Sandbox Code Playgroud)

但是,我希望某些列具有默认值。我曾尝试更改列的默认值,但您无法更改该属性,只能“获取”它。或者,我尝试解析空网格中的行并填充值。这在网格最初加载时工作正常(值显示在适当的位置)。但是,一旦我进入编辑模式,这些值就会清除为零。

接下来,我尝试使用一些 RowEdit 事件并尝试在进入编辑模式时填充值,但是,这会在您进入和离开编辑模式时导致问题。似乎是一种更复杂和凌乱的做事方式,看似必要。

所以问题是,在某些列中使用默认值填充 gridview 的最佳方法是什么?

我更喜欢“最干净”的解决方案。然而,我认识到事情并不总是那样发展......

提前感谢您的帮助!干杯。

c# events datagridview dataset default-value

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

JSON反序列化:如何从JSON对象数组中获取值

我已成功在C#中反序列化此JSON字符串,但无法从嵌套在数组中的对象中提取值:

JavaScriptSerializer js = new JavaScriptSerializer();

string json = 
  {"key":"1234","status":"ok","members":
      [{"id":7,"name":"Joe"},
   {"id":2,"name":"Robert"},
   {"id":18,"name":"Tim"}
      ]
   }

var d = js.Deserialize < dynamic > (json);

string _key = d["key"]; // this works

Array _members = d["members"]; // this works, length = 3
Run Code Online (Sandbox Code Playgroud)

但是我无法通过名称从对象中提取值,例如,这不对,但基本上我想要

_members [0] ["name"]或,_members [0] .name

我认为反序列化器会在数组字典中创建对象,但我想我正在清除丢失的东西......

c# json

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

在C#中有没有办法看到通过ASPX页面生成的代码?

我正在查看与下拉列表相关的XYZ.aspx.cs中的代码.它是:

dt = SessionData.Report_RespondentAnswer(DateTime.Parse(tbFromDate.Text).ToString("yyyy-MM-dd"),
                                         DateTime.Parse(tbToDate.Text).ToString("yyyy-MM-dd"),
                                         SurveyID,
                                         SupplierID,
      LK_SurveyStatuses.GetResponseGroup_ResponseCodes(ddlResponseRange.SelectedValue),
      LK_SurveyStatuses.GetResponseGroup_ClientResponseCodes(ddlResponseRange.SelectedValue));
Run Code Online (Sandbox Code Playgroud)

这对应于下拉列表,如下所示:

ddlResponseRange.SelectedValue
Run Code Online (Sandbox Code Playgroud)

这可能吗?

在此输入图像描述

c# asp.net reverse-engineering system-calls web-deployment

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

修剪列表中的字符串

我有一个包含字符串值的列表.我需要修剪前导值和结束值.这是代码:

        using EnterpriseDT.Net.Ftp;
        public List<FTPFile> FileList = new List<FTPFile>();

        FTP = new FTPConnection() { ServerAddress = _host, UserName = _user, Password = _password };
        FTP.Connect();
        FTP.TransferType = FTPTransferType.BINARY;
        FTP.ChangeWorkingDirectory(_as400_directory);
        FTP.LocalDirectory = _local_directory;
        FileList.AddRange(FTP.GetFileInfos());
        FTP.Close();
Run Code Online (Sandbox Code Playgroud)

FileList列表包含以下示例值:

test 123 11/01/12 *STMF File1.csv somegarbagevalues
test 123 11/01/12 *STMF File2.csv somegarbagevalues
test 123 11/01/12 *STMF File3.csv somegarbagevalues
Run Code Online (Sandbox Code Playgroud)

我需要做的是在线捕获文件名(例如File1.csv,File2.csv ...)当我执行FileList.AddRange语句时,有没有办法修剪不需要的值而不循环遍历列表或修剪?

c# wpf

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

C#列出控件中的所有方法

如果之前有人问过并回答我但我无法找到答案,我会道歉.

我知道如何遍历控件集合并获取包括子控件在内的所有控件的列表.

    void printControlTree(Control ctl, int indent)
    {
      string pad = "";
      for(int i=0; i < indent; i++)
      {
        pad += "   ";
      }

      Print(pad + "=> " + ctl.Name);

      if (ctl.Controls != null && ctl.Controls.Count > 0)
      {
        foreach (Control c in ctl.Controls)
        {
            printControlTree(c, indent+1);
        }
      }
     }
Run Code Online (Sandbox Code Playgroud)

我想要做的是获得每个控件和子控件中所有方法的列表.这可能吗?我会这么认为,因为有Control.ControlCollection.Find方法通过名称在控件中查找特定方法,但我想要一个所有方法的列表,而不知道他们的名字提前.此外,是否可以获得控件中所有内容的列表:方法,输入字段等?非常感谢您的帮助.谢谢.

c# reflection user-controls

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

将流转换为字节数组

我创建了一个简单的扩展来将Stream转换为Byte数组:

public static Byte[] ToByte(this Stream value) 
{
  if (value == null)
    return null;

  if (value is MemoryStream)
  {
    return ((MemoryStream)value).ToArray();
  }
  else 
  {
     using (MemoryStream stream = new MemoryStream()) 
     {
          value.CopyTo(stream);
          return stream.ToArray();
      }
  }

}
Run Code Online (Sandbox Code Playgroud)

我第一次使用它时工作正常......

如果我在同一个流上第二次使用它,则生成的Byte []是Byte [0].

我调试了,我认为这是因为在第一次转换后,Stream索引转到流的末尾.

解决这个问题的正确方法是什么?

c#

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

初学者试图使用其他陈述C#?

我是一名学生第一次参加计算机课程,我一直试图"破解"这个课程多年(我对此很新......抱歉!).我似乎无法构建一个简单的if/else语句,如果满足条件,它会写出一个肯定的响应,如果不满足,则会写一个否定的响应.但是我得到了错误:无效的表达式术语'else'
只有赋值,调用,递增,递减和新对象表达式才能用作语句

对不起,如果这没有意义,我很困惑!:(

static void Main(string[] args)
{
    Console.WriteLine("Do you like bananas?");
    Console.ReadLine();
    if (Console.ReadLine() == "Yes") ;
    {
        Console.WriteLine("Thanks for your time!");
    }
    else;
    {
        Console.WriteLine("Oh okay.");
    }
 }
}
Run Code Online (Sandbox Code Playgroud)

}

c# if-statement

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

继承C#到VB的位置

有人可以解释一下下面这个功能的含义吗?对不起,我是VB开发人员,我无法理解下面的语法.转换器工具将其无意义地转换为VB代码.

  • 我不明白T的用法
  • 我不理解Where T的继承

     public static string ValidateSeName<T>(this T entity, string seName, string name, bool ensureNotEmpty)
             where T : BaseEntity, ISlugSupported
    {
    }
    
    Run Code Online (Sandbox Code Playgroud)

调用此函数的位置,调用函数如下所示.这个T实体的第一个参数发生了什么,它不用作参数?它的目的是什么?

  model.SeName = category.ValidateSeName(model.SeName, category.Name, true);
Run Code Online (Sandbox Code Playgroud)

如果你能在VB中给我相同的代码,将会很有帮助.谢谢

c# vb.net c#-to-vb.net

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

WaitForSingleObject返回ERROR_INVALID_HANDLE

我正在尝试确定一个进程是否仍处于活动状态(此时我确实检查过,我知道它可以在我检查后立即关闭)通过调用WaitForSingleObject()一个句柄获取从中Process.MainWindowHandle工作得很好IsIconic()但它返回WAIT_FAILEDGetLastError()aERROR_INVALID_HANDLE

UInt32 r = WaitForSingleObject(handle, 0);
if(r == WAIT_OBJECT_0)
{
    MessageBox.Show("still running!");
}
if(r == WAIT_FAILED)
{
    throw new Win32Exception(Marshal.GetLastWin32Error());
}
Run Code Online (Sandbox Code Playgroud)

c# winapi waitforsingleobject

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