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

时间:2012-04-02 20:02:58

标签: c# javascript entity-framework

我知道有人问这个问题,但是无数的答案都不符合我的情况。所以我会谦虚地问,是否有人可以轻轻地再次引导我。

环境:.Net 4网络应用程序使用c#,javascript,jquery,sql server和实体框架。

问题:我需要能够允许用户将值“快速添加”到绑定到下拉框的表中,而不会丢失用户已输入当前页面的值。我不在乎我是否必须进行回发或使用jquery或使用ajax等。我首先需要功能 - 稍后好看......如果您想继续阅读,下面将描述该场景。尽管如此,我希望这对于用户来说是平滑而不是“笨拙”。

方案: 我有一个页面,用户可以将许多信息输入到文本框,静态下拉框和下拉框中,这些框绑定到其他表,这些表将被合并并插入到一个表中。好吧,它永远不会失败,用户可以填写页面,当他们到达一个表格绑定下拉框时 - 一个值丢失或者他们还没有添加任何项目。我想在该下拉框旁边添加一个按钮或链接或其他内容,允许用户将项目“快速添加”到填充该下拉框的表格,然后刷新下拉框以便他们可以选择列表中的新值...同时不会丢失已经输入的屏幕上的其他数据。

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

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

有意义吗?

1 个答案:

答案 0 :(得分:0)

在页面中添加UpdatePanel。更新面板应该包含要添加的下拉列表,以及用于向该下拉列表添加新条目的文本框/按钮。如果适用,您可能希望为每个下拉/按钮对设置不同的UpdatePanel。

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

UpdatePanels的神奇之处在于确保这一切都是异步的,因此不会打扰在页面上工作的用户。