从javascript调用c#函数背后的代码

本文关键字:背后 代码 函数 javascript 调用 | 更新日期: 2023-09-27 18:29:43

我知道有人问过这个问题,但众多的答案都不适合我的情况。所以我会谦虚地问是否有人能再次温柔地陪我度过难关。

环境:使用c#、javascript、jquery、sql server和实体框架的.Net 4 web应用程序。

问题:我需要能够允许用户将值"快速添加"到绑定到下拉框的表中,而不会丢失用户在当前页面上输入的值。我不在乎我是否必须回发、使用jquery或使用ajax等。我首先需要功能——稍后再漂亮。。。如果你想继续阅读,下面会描述这个场景。话虽如此,但我希望这对用户来说是流畅的,而不是"笨拙的"。

场景:我有一个页面,用户可以在其中将许多信息输入到文本框、静态下拉框和绑定到其他表的下拉框中,这些表都将合并并插入到一个表中。好吧,它永远不会失败,用户可能正在填写页面,当他们到达其中一个表绑定的下拉框时——缺少一个值,或者他们还没有添加一些项目。我想在下拉框旁边添加一个按钮或链接或其他东西,允许用户将项目"快速添加"到填充该下拉框的表中,然后刷新下拉框,以便他们可以从列表中选择新值。。。同时不会丢失他们已经输入的屏幕上的其他数据。

我尝试过的:-已尝试WebMethod选项。目前,这个网页在代码后面调用一些自定义的"绑定"方法来填充下拉框,所以它们不是直接从实体框架中的对象填充的。因此,这意味着使用静态方法将不适用于解决方案,因为静态函数的一部分需要调用bind方法来用新插入的值刷新下拉框。

-已尝试PageMethod选项。其他一些示例使用了页面方法设置,但我的网站使用母版和内容页面,帖子似乎表明页面方法路线不起作用。

有道理吗?

从javascript调用c#函数背后的代码

UpdatePanel添加到页面中。更新面板应该包装要添加的下拉列表,以及用于向该下拉列表添加新条目的文本框/按钮。如果适用的话,您希望每个下拉/按钮对都有一个不同的UpdatePanel。

当他们点击更新面板内的按钮时,你可以阅读文本框,在下拉列表中添加一个额外的项目,并向数据库发送更新。(如果可能的话,我会手动将新值添加到下拉列表中,而不是更新数据库和重新绑定,但可能不会。)

UpdatePanels的魔力将确保这一切都是异步的,因此不会干扰用户在页面上的工作。