1

我的任务是完成一个已完成 75% 的应用程序。它是使用我从未使用过的三种技术创建的(我是一个工作学期的学生):asp.net、ajax,它是用 C# 编写的。

此应用程序的功能之一是 html 生成。我写了一个方法,我们称之为createHTML()。我已经将它作为独立设备进行了测试,并且运行良好。我现在想在实际的 .net 环境中运行它。当用户单击按钮 btnCreate 时,createHTML() 方法(正在传递一个 NameValueCollection 'page')应该抓取一堆 html 并将其写入单独文件夹中的文本文件。

我的问题是:我该怎么做?我有一些使用 VB .net 的经验,通常我会进入设计模式,双击 btnCreate,它会将我带到代码视图,我可以编写一个 btnCreate_Click 处理程序。然而,写原版的那个人把所有的按钮都隐藏了,我不知道如何找到它们。我试图手动编写一个仅弹出消息框的 btnCreate_Click 调用,但无法触发它。

使这个问题更加复杂的是,原始编码人员在整个应用程序中编写了既是 asp:buttons 又是常规 HTML 按钮的按钮。我应该将其设为 asp 按钮,还是最好使用 html 按钮?我了解将一个用于客户端和另一个用于服务器端之间的区别,但是当他同时使用两者时,什么是最好的?当使用 html 时,ajax 是从哪里来的?

为这个问题的简单性道歉,但这让我发疯了。

编辑:

显然,我已经太啰嗦了。以下是按钮的编码方式:

<button id="createButton" class="ui-state-default ui-corner-all">Create</button>

哪个是原始的 html 按钮(同样——在这种情况下我使用 AJAX)?或者我应该做这样的事情:

<asp:Button ID="createButton" class="blah-blah-ui" PostBackUrl=".../somepage.aspx" runat="server" text="create" />?

如果我执行 asp 按钮(在我的 AJAX 级别 - read:none - 可能是最好的),我如何调用我在页面后面的单独代码中拥有的方法?

如果我的方法在 'modify.aspx.cs' 中被称为 showMessage(),我该如何调用这个 showMessage() 方法?

编辑第二个:

根据我收到的答案,我是在正确的轨道上。问题是,onclick 不起作用。我找到了原始编码器隐藏所有按钮的位置,所以我让它们可见。在我的创建按钮的属性窗口中,OnClick 甚至不是一个选项。附近唯一的选择是 OnClientClick,我假设它是用于 javascript 的?

4

1 回答 1

1

我会说你应该坚持使用 asp:Button - 请注意这将导致页面在每次点击时重新加载,使用 Ajax 路由可以避免这种情况,但实现你想要的可能会稍微困难一些。

您需要连接代码来处理按钮单击,最简单的方法是使用 OnClick 属性,如下所示

<asp:Button ID="createButton" class="blah-blah-ui" runat="server" Text="create" OnClick="createButton_Click" />

然后在你后面的代码中处理这样的事件

protected void createButton_Click(object sender, EventArgs e){}

在那个处理程序中,你可以做任何你想做的事情。

于 2012-04-24T13:05:36.963 回答