0

当我通过调试按钮在本地运行我的应用程序时,我的文本框更改事件会在文本框中键入内容并从中删除后触发。

但是,如果我部署到 IIS 服务器并测试该站点,则不会触发该事件。

什么可能导致这个问题?

更新*** 很抱歉造成混乱。这与调试和断点无关。这些事件在部署到 IIS 时根本不会触发,但在本地运行时会触发

4

2 回答 2

1

尝试这个:

将代码部署到 IIS 并在您选择的浏览器中启动网站后,转到DebugVisual Studio 中的菜单并选择Attach To Process.... 这将打开一个列出进程的对话框窗口,选中该框Show processes from all users.,然后w3wp.exe在列表中找到该进程,现在单击Attach按钮。加载符号并激活断点需要一点时间(几秒钟,而不是几分钟)。现在,当您生成事件并在服务器端为其处理程序设置断点时,调试器将在断点处停止,就像您在部署到 IIS 之前在 Visual Studio 中按 F5 时一样。

有关更多信息,请阅读使用 Visual Studio 调试器附加到正在运行的进程

于 2013-07-22T16:11:45.773 回答
0

在您退出后,事件自动触发并不是真正的标准行为。为此,您必须说文本框应该自动回发。

你应该像这样声明你的 asp:net 文本框:

<asp:TextBox ID="helloWorldTextBox" runat="server" Text="Hello World!" AutoPostBack="True" OnTextChanged="helloWorldTextBox_TextChanged" />

如果我对您的理解正确,您就不会面临无法调试它的问题,但很简单,TextChanged 事件上应该发生的事情并没有做它应该做的事情。

另一件事,如果您正在动态创建文本框(在代码后面),您必须确保 ID 保持不变,否则事件不会触发。这通常在 Page_Init 事件中完成。

于 2013-07-22T16:31:45.793 回答