小编p4b*_*bl0的帖子

C#3.0+中属性和字段的区别

我意识到它似乎是C#中字段和属性之间有什么区别的重复但我的问题略有不同(从我的观点来看):

一旦我知道了

  • 我不会将我的课程用于"仅适用于属性的技术"和
  • 我不会在getter/setter中使用验证代码.

是否有任何区别(风格/未来发展除外),如设置属性时的某种控制类型?

是否有任何额外的区别:

public string MyString { get; set; }
Run Code Online (Sandbox Code Playgroud)

public string myString;
Run Code Online (Sandbox Code Playgroud)

(我知道,第一个版本需要C#3.0或更高版本,并且编译器会创建私有字段.)

c# field properties automatic-properties c#-3.0

138
推荐指数
6
解决办法
7万
查看次数

DataGridView行添加了事件

我正在使用DataGridView,我将List绑定到DataSource.

我已经有了正确的列,我准确地映射了字段.我正在尝试做的是处理一种RowAddedRowDataBound(如在aspx GridView中)事件.

我发现的唯一一件事就是RowsAdded但无论我有多少物品,它在我第一次被绑定时只被发射4次,而在其他时间被发射两次,带有值

e.RowCount:1 e.RowIndex:0 e.RowCount:[n-1] e.RowIndex:1*其中n是我的项目数

有没有办法可以找到每个项目的句柄?

编辑:不改变DataSource =绑定方法

c# datagridview

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

如何使用MasterPage中的Response.Redirect()工作?

我有一个问题:当我从MasterPage调用Response.Redirect()时它不起作用.好吧,调试我可以看到,直到Pre_Render()方法加载目标页面,然后再渲染上一页.

这里有一些代码可以更好地解释:

(来自MasterPageMain.master.cs)

protected void Page_Init(object sender, EventArgs e)
{
    string m_QueryStringValue = Request.QueryString.Get("action");
    if ((!string.IsNullOrEmpty(m_QueryStringValue)) && (m_QueryStringValue.ToLower() == "send"))
    {
        if (Session["to"] != null && Session["to"] is List<string>) this.SendPageByMail();
        else
        {
            Session.Add("AddressToSend", Request.RawUrl);
            Response.Redirect("~/chooseRecipients.aspx");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个javascript,当我点击发送按钮时添加查询字符串添加"action = send".

如果我在页面上"〜/ somethingInterestingToSend()" - 例如 - 我想进入收件人选择页面,但是当我单击"发送"按钮时,我总是看到相同的页面.

可能是什么错误?

javascript c# asp.net

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

如何从C#获取Word文档的文件名?

我正在研究MS Word AddIn(VSTO).我的想法是我在Word文档上工作并将其发送到某个地方.

除了一件事,我有我需要的所有代码:有没有办法可以获得我正在处理的Word文档的文件名?(假设已经保存)

.net c# vsto ms-word

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

在RowDataBound中设置OnClientClick后,事件未触发

我有一个Asp.net GridView(填充数据绑定).我的一个列是ButtonField(显然有自己的CommandName).

GridView_RowCommand作品完美,但如果我添加GridView_RowDataBound(其中我只需添加一个JavaScript确认)GridView_RowCommand不回发触发的事件.

可能是什么问题/解决方案?

添加代码以便更好地理解:

Aspx代码:

<asp:GridView ID="GridView1" runat="server" 
    OnRowCommand="GridView1_RowCommand" 
    onrowdatabound="GridView1_RowDataBound">
    <Columns>
        <asp:BoundField DataField="MyField1" HeaderText="MyField1" />
        <asp:BoundField DataField="MyField2" HeaderText="MyField2" />
        <asp:ButtonField Text="MyAction" ButtonType="Image" ImageUrl="myaction.gif" CommandName="myaction" />
    </Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

c#代码:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        (e.Row.Cells[e.Row.Cells.Count - 1].Controls[0] as ImageButton).OnClientClick = "javascript:return confirm (\"Do action?\");";
    }
}

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "myaction")
    {
        DoMyAction();
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:

我忘了告诉我的GridView在ajax TabContainer(AjaxControlToolkit)里面

c# asp.net

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