小编The*_*kZn的帖子

Html.DropdownListFor未设置选定值

如何设置Html.DropDownListFor的选定值?我一直在网上看看,并且已经看到它可以通过使用第四个参数来实现,如下所示:

@Html.DropDownListFor(m => m, new SelectList(Model, "Code", "Name", 0),  "Please select a country")
Run Code Online (Sandbox Code Playgroud)

我的选择列表然后显示如下:

<select id="ShipFromCountries" name="ShipFromCountries">
     <option value="">Please select a country</option>
     <option value="GB">United Kingdom</option>
     <option value="US">United States</option>
     ...
</select>
Run Code Online (Sandbox Code Playgroud)

但由于某种原因英国仍然被选中,但我想要"请选择一个国家"进行选择.

谁知道我怎么能做到这一点?

编辑

我已经更新了我的代码,因为功能略有变化,但似乎仍然遇到这个问题.这就是我的看法:

@Html.DropDownListFor(n => n.OrderTemplates, new SelectList(Model.OrderTemplates, "OrderTemplateId", "OrderTemplateName", 1), "Please select an order template")
Run Code Online (Sandbox Code Playgroud)

1option我想要选择的Id ,我也试过了文本,option但也没有用.

有任何想法吗?

asp.net-mvc razor

92
推荐指数
3
解决办法
32万
查看次数

LINQ中的`from..where`或`FirstOrDefault`

传统上,当我试图从数据库中获取用户的数据时,我已经使用了以下方法(在某种程度上):

DbUsers curUser = context.DbUsers.FirstOrDefault(x => x.u_LoginName == id);
string name = curUser.u_Name;
string email = curUser.u_Email;
Run Code Online (Sandbox Code Playgroud)

您可以看到我想要做的就是获取名称和电子邮件,但在我看来,这个LINQ查询将所有内容存储在该用户的数据库中,将其恢复,然后允许我得到我想要的内容.

我一直在做一些研究,并找到了以下替代方案:

var current = from s in context.DbUsers
where s.u_LoginName == id
select new {
             name = s.u_Name, 
             email = s.u_Email
           };
foreach (var user in current)
{
    //Stuff Here
}
Run Code Online (Sandbox Code Playgroud)

如果有的话哪个更好?当我只想检索一些结果/数据时,是否有更轻松的方法?

c# linq entity-framework

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

HTML5日期输入6位数年份

<input />我的表格上有一个标准控件,装饰着type="date"

渲染时,它会显示正确的水印yyyy-mm-dd,您可以正确选择日期.
但是,当您尝试键入值时,年份将扩展为6位数,而不是4位数.我添加了截图以帮助演示我遇到的问题.

还有其他人得到这个吗?我使用Chrome(版本35.0.1916.153 m)作为我的默认浏览器.
我想要一种方法来强制一个不涉及额外JS的4年输入.

日期控制

控制源

html5 date

23
推荐指数
4
解决办法
1万
查看次数

Dart / Flutter - 调试器在捕获异常时停止

在检查 API 端点(确定连接状态)的相对简单的代码块中,我依靠 atry..catch作为机制来验证应用程序是否可以与服务器通信。

我遇到的问题是,在调试时,调试器总是在连接线上停止(当应用程序离线时),即使我在内部处理错误。

  Future<bool> isOnline() async {
    try {
      // VSCode debugger always stops on this line when no connection
      await http
          .get('${consts.apiBaseUrl}/api/ping')
          .timeout(Duration(seconds: normalTimeoutLength))
          .catchError(
        (_) {
          // Trying catchError on the Future
          _isOnline = false;
          return false;
        },
      );
      _isOnline = true;
      return true;
    } on HttpException catch (_) {
      // Trying to catch HTTP Exceptions
      _isOnline = false;
      return false;
    } on SocketException catch (_) {
      // Trying to catch Socket Exceptions
      _isOnline …
Run Code Online (Sandbox Code Playgroud)

exception dart visual-studio-code flutter vscode-debugger

15
推荐指数
3
解决办法
5288
查看次数

解析为布尔值或检查字符串值

如果我有一个变量从DB 中提取一串true或 哪一个false,
这将是检查其值的首选方法?

string value = "false";

if(Boolean.Parse(value)){
   DoStuff();
}
Run Code Online (Sandbox Code Playgroud)

我知道解析bool有不同的方式 - 这是一个例子

string value = "false";

if(value == "true"){
   DoStuff();
}
Run Code Online (Sandbox Code Playgroud)

我在数据库string格式中提取了很多真/假值,想知道这些方法是否会产生任何性能差异?

c# boolean

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

使用DataTable插入或更新SQL表

首先,我不能使用任何存储过程或视图.
我知道这可能会适得其反,但那些不是我的规则.

我有一个DataTable,充满了数据.它具有我的SQL表的复制结构.

ID - NAME

SQL表当前有一些数据,但我现在需要用我的所有数据更新它DataTable.如果ID匹配,它需要更新SQl表,或者添加到它唯一的列表中.

有没有办法只在我的WinForm应用程序中执行此操作?

到目前为止,我有:

SqlConnection sqlConn = new SqlConnection(ConnectionString);
            SqlDataAdapter adapter = new SqlDataAdapter(string.Format("SELECT * FROM {0}", cmboTableOne.SelectedItem), sqlConn);
            using (new SqlCommandBuilder(adapter))
            {
                try
                {
                    adapter.Fill(DtPrimary);
                    sqlConn.Open();
                    adapter.Update(DtPrimary);
                    sqlConn.Close();
                }
                catch (Exception es)
                {
                    MessageBox.Show(es.Message, @"SQL Connection", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
Run Code Online (Sandbox Code Playgroud)

数据表:

        DataTable dtPrimary = new DataTable();

        dtPrimary.Columns.Add("pv_id");
        dtPrimary.Columns.Add("pv_name");

        foreach (KeyValuePair<int, string> valuePair in primaryList)
        {
            DataRow dataRow = dtPrimary.NewRow();

            dataRow["pv_id"] = valuePair.Key;
            dataRow["pv_name"] = valuePair.Value;

            dtPrimary.Rows.Add(dataRow);
Run Code Online (Sandbox Code Playgroud)

SQL:

CREATE TABLE [dbo].[ice_provinces]( …
Run Code Online (Sandbox Code Playgroud)

c# sql-server asp.net

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

获取List <T>中的List <string>变量

我目前有一个List<T>由以下类组成:

int id { get; set; }
string title { get; set; }
string description { get; set; }
Run Code Online (Sandbox Code Playgroud)

我想创建一个List<string>只有所有在列表中的标题的

这将是最好的表现方式吗?

编辑 我的描述字段平均2k个字符...我不希望它减慢获得标题.

Edit2 我首先使用MVC的代码(实体框架).将List<T>存储在_context,这是我从查询得到的数据.

编辑3如果可能..有没有办法获得标题和ID?

c# asp.net-mvc list ef-code-first

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

System.Data.OleDb.OleDbException:找不到可安装的ISAM

我在网上搜索过,发现很多人都在问这个,但没有一个人能解决我的问题.

我有一个Connection类,以及一个在页面中使用该类的方法.

DataConn.cs

public static OleDbConnection ConnectExcel()
{
    //Store the connection details as a string
    string connstr =
        String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=pricelist.xlsx;Extended Properties=Excel 12.0 Xml;HDR=YES");

    //Initialise the connection to the server using the connection string.
    OleDbConnection oledbConn = new OleDbConnection(connstr);

    //Open the connection, we do this here so we can instantly be able to use SQL commands in the code.
    oledbConn.Open();

    return oledbConn;
}

public static void DisconnectExcel()
{
    _oledbConn.Dispose();
    _oledbConn.Close();
}
Run Code Online (Sandbox Code Playgroud)

以及调用它的代码

protected void Page_Load(object sender, EventArgs e)
{
    // Connection …
Run Code Online (Sandbox Code Playgroud)

asp.net oledb

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

如何将完整的SQL表导出到XML

我的主要编码理想是在.net应用程序上.所以我在应用程序设计方面的技能有限.

我试图将整个表从数据库(使用视图)导出到XML文件(然后希望将其导出到电子表格 - 我看起来并且找不到直接的方法).

我使用以下代码成功地只将1列导出到xml文件:

DataConn.UserName = "***";
DataConn.Password = "***";
DataConn.SqlServer = "***";
DataConn.Database = "***";

const string strSql = "SELECT TOP 1 * FROM vwGetStaffDetails FOR XML AUTO";

using (SqlCommand sqlComm = new SqlCommand(strSql, DataConn.Connect()) { CommandType = CommandType.Text })
{
     string result = sqlComm.ExecuteScalar().ToString();

     File.WriteAllText(@"C:\Temp\text.xml", result);
 }
Run Code Online (Sandbox Code Playgroud)

每当我使用ExecuteReaderExecuteXmlReader,我都没有得到任何实际结果.

我怎么能得到所有的田地?

编辑:我不得不用它Top 1来搞定Execute Scalar工作.

使用以下解决方案,我的文件显示:

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <Table>
    <XML_F52E2B61-18A1-11d1-B105-00805F49916B>&lt;vwGetStaffDetails ImageLoc="****.jpg" LName="GAINES" FName="****" StaffTitle="****" JobPosition="****" Email="***@***.com" Code="***" Number="******" PhoneTypeID="1"/&gt;</XML_F52E2B61-18A1-11d1-B105-00805F49916B> …
Run Code Online (Sandbox Code Playgroud)

c# ado.net

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

如果不超出范围,从数组中获取值

我正在寻找最优雅的解决方案,以便object[]在请求的索引不受限制时获取值.

我目前的解决方案如下:

    public object GetNamedParametersFrom(GenericObject genericObject)
    {
        string nameFromListOne = String.Empty;
        string nameFromListTwo = String.Empty;

        for (int i = 0; i < genericObject.ListOfThings.Count; i++)
        {
            switch (i)
            {
                case 0:
                    nameFromListOne = genericObject.ListOfThings[i].Name;
                    break;
                case 1:
                    nameFromListTwo = genericObject.ListOfThings[i].Name;
                    break;
            }
        }

        return new {
           nameFromListOne,
           nameFromListTwo
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# arrays

5
推荐指数
2
解决办法
4311
查看次数