小编CPK*_*011的帖子

异步写入文件

有没有办法编写一个异步函数,可以重复地将数据写入文件.

我写异步函数时收到以下错误

该进程无法访问文件'c:\ Temp\Data.txt',因为它正由另一个进程使用

public void GoButton_Click(object sender, System.EventArgs e)
{
    IAsyncResult ar = DoSomethingAsync(strURL, strInput);
    Session["result"] = ar;
    Response.Redirect("wait1.aspx");
}

private IAsyncResult DoSomethingAsync(string strURL, string strInput)
{
    DoSomethingDelegate doSomethingDelegate = new DoSomethingDelegate(DoSomething);
    IAsyncResult ar = doSomethingDelegate.BeginInvoke(strURL, strInput, new AsyncCallback(MyCallback), null);
    return ar;
}

private delegate void DoSomethingDelegate(string strURL, string strInput);

private void MyCallback(IAsyncResult ar)
{
    AsyncResult aResult = (AsyncResult)ar;
    DoSomethingDelegate doSomethingDelegate = (DoSomethingDelegate)aResult.AsyncDelegate;
    doSomethingDelegate.EndInvoke(ar);
}

private void DoSomething(string strURL, string strInput)
{
    int i = 0;
    for (i = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asynchronous

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

RadioButtonList每次都不会触发SelectedIndexChanged

我有一个RadioButtonList,带有"Not Applicable","Not Available","Leave"和"Available"选项.

  1. 我在服务器端的RadioButtonList中单击"离开"时抛出确认消息框,如下所示

    protected void rdlUser_SelectedIndexChanged(object sender, EventArgs e)
    {
        radWindowManager.RadConfirm("Are you sure you want to take leave?", "confirmLeave" + this.ClientID, 300, 100, null, "");
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果用户点击"取消",它将自动选择"可用",代码如下.

以下是"Ok"或"Cancel"离开的javascript代码.

    function confirmLeave<%=this.ClientID%>(arg) {
        if (arg == true) {
            alert("User has selected Leave.")
        }    
        else {
            var rdlUser = docment.getElementById("<%= rdlUser.ClientID %>");
            var radioButtons = rdlUser.getElementsByTagName('input');
            radioButtons[1].checked = true;
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果用户第二次单击"离开",则SelectedIndexChanged根本不会触发.

我也很灵活地将服务器端代码移动到客户端.

更新

以下是相关的HTML代码

<table id="ctl00_ContentPlaceHolder1_MyUser_MyMonday_rdlUser">
<tr>
    <td><span class="leave"><input id="ctl00_ContentPlaceHolder1_MyUser_MyMonday_rdlUser_0" type="radio" name="ctl00$ContentPlaceHolder1$MyUser$MyMonday$rdlUser" value="SLOT01" disabled="disabled" onclick="javascript:setTimeout(&#39;__doPostBack(\&#39;ctl00$ContentPlaceHolder1$MyUser$MyMonday$rdlUser$0\&#39;,\&#39;\&#39;)&#39;, 0)" /><label for="ctl00_ContentPlaceHolder1_MyUser_MyMonday_rdlUser_0">Not Applicable</label></span></td>
    <td><span class="leave"><input …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net jquery telerik

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

将文本附加到sql select查询的每一行

我有这样的查询

SELECT COUNT(ID) 'Records Affected', TYPE FROM MASTER
GROUP BY TYPE
Run Code Online (Sandbox Code Playgroud)

这个输出是

Records Affected            TYPE
----------------            ---- 
4                            F1
3                            F2
5                            F3
Run Code Online (Sandbox Code Playgroud)

现在我想更改查询,以便输出如下

Records Affected
----------------
The number of records affected for F1 is : 4 
The number of records affected for F2 is : 3
The number of records affected for F3 is : 5

"The number of records affected for " + TYPE + " is : " + COUNT.
Run Code Online (Sandbox Code Playgroud)

如何将默认文本添加到结果集的每一行,而不是附加到前端.我想简化我只是将DataGrid中的记录显示为Summary的任务.

sql-server-2008

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

文本文件分隔 - 性能问题

我有一个文本文件,其详细信息如下,没有标题

 Name1 Text1 This is the message1
 Name2 Text2 This is the message2
Run Code Online (Sandbox Code Playgroud)

如果我这样使用..

string[] allLines = File.ReadAllLines("TextFile.log");
for (int i = 0; i < allLines.Length; i++
{
    string[] items = allLines[i].Split(new char[] { ' ' });
    MessageBox.Show("This is Name field : " + items[0])      
    MessageBox.Show("This is Text field : " + items[1])      
    MessageBox.Show("This is Message field : " + items[2])      
}
Run Code Online (Sandbox Code Playgroud)

如果我使用上面的代码,它将适用于前2个字段,但如何在单列中获得第三列"This is the message1"?

c#

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

将xml转换为纯字符串

我试图将类对象序列化为字符串.但是它从下面的代码中以xml的形式提供输出.

Dim x As New Xml.Serialization.XmlSerializer(response.GetType)
Dim sw As New IO.StringWriter()
x.Serialize(sw, response)
Return sw.ToString
Run Code Online (Sandbox Code Playgroud)

电流输出

<Employees>
<Employee>John</Employee>
<Employee>Peter</Employee>
</Employees>
Run Code Online (Sandbox Code Playgroud)

预期产出

<Employees><Employee>John</Employee><Employee>Peter</Employee></Employees>
Run Code Online (Sandbox Code Playgroud)

xml vb.net

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

从 C#.NET 6.0 AWS Lambda 函数读取 appsettings.json 值

看起来很简单,但对我来说不起作用......

我正在使用 C#.NET 6.0 作为 AWS Lambda 函数。我正在尝试在 Visual Studio 2022 中创建此函数。此 Lambda 函数项目中没有 Startup.cs 文件。只是一个带有函数的类库。

我只想从 C# 函数读取 appsettings.json 文件中的值。Json 文件看起来像这样......

{
  "SQSARN": "arn:aws:sqs:us-east-1:111111111111:SQS-Queue1",
  "BucketName": "excel-s3-bucket",
  "ObjectKey": "Sample.xlsx"
}
Run Code Online (Sandbox Code Playgroud)

我正在读取 C# 代码中的值,如下所示...

config = new ConfigurationBuilder().AddJsonFile("appsettings.json",true,true)
        .SetBasePath(Directory.GetCurrentDirectory())
        .Build();
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试提取如下......

string myValue = config.GetValue<string>("SQSARN");
Run Code Online (Sandbox Code Playgroud)

我正在获得Null上述密钥的价值。

我这里哪里出错了?这里需要添加什么库吗?请告诉我。

c# amazon-web-services aws-lambda

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

如何为Employee类添加硬编码值

我想知道用多个硬编码记录声明Employee类的语法是什么

Employee objEmployee = new Employee() {Name="Sumanth",Id=101,Salary=5000.00 };
Run Code Online (Sandbox Code Playgroud)

上面的代码仅用于单个记录。

创建多个记录的语法是什么?

编辑

我想知道与/不带列表一起创建多个记录的方法。使用List时,可以获得IEnumerable,IQueryable等功能。

c#

-4
推荐指数
1
解决办法
353
查看次数