如何从 onclick 按钮调用方法? - 视觉工作室

Posted

技术标签:

【中文标题】如何从 onclick 按钮调用方法? - 视觉工作室【英文标题】:How to call a method from an onclick button? - visual studio 【发布时间】:2014-10-06 12:29:39 【问题描述】:

我正在使用 Visual Studio Express 2013 for Web。

我有一个名为:About.cshtml 的类,在该类中我有一个名为:Reset Data 的按钮,用于重置数据库中的数据。

下面的代码显示了我在 About.cshtml 类中为调用该方法所做的工作。

<button class="Resetbutton" onclick="resetmethod">Reset Data</button>
@
protected void resetmethod()

    statsMethod reset = new statsMethod(); 
    reset.reset_button(User.Identity.GetUserName());

下面的代码显示了名为:statsmethod.cs的类中名为:reset_button 的方法。

public void reset_button(string userID)

    try
    
        var reset_results =
                    from details in db.TriviaResults
                    where details.UserId == userID
                    select details;

        var reset_answers =
                    from details in db.TriviaAnswers
                    where details.UserId == userID
                    select details;

        foreach (var detail in reset_results)
        
            db.TriviaResults.Remove(detail); //DeleteOnSubmit(detail);
        

        foreach (var detail in reset_answers)
        
            db.TriviaAnswers.Remove(detail); //DeleteOnSubmit(detail);
        
    
    catch (Exception e)
    
        Console.WriteLine(e);
    

我所做的是尝试调用“reset_button”方法,它将从数据库中删除数据。 如果有人可以帮助我解决我的问题,我将不胜感激。

请不要留下不好的反馈..如果有什么不正确或您需要更多信息,请告诉我,否则您将无法提供任何帮助。

PS:我不得不编辑上一个问题,因为我被阻止提出任何其他问题。 谢谢。

【问题讨论】:

这里没有上下文。我们不知道您正在编写什么样的 Web 应用程序,也不知道这些变量的范围。您还应该考虑如果您的 Web 应用程序由于某种原因重新启动,您是否最终会丢失重要状态.. 范围是我在程序中建立了一个循环。现在我需要初始化变量并在程序开始时将它们设置为 0。我以为有一个命令可以让该行只被读取一次。 你可能想在问题中提到这一点,否则我们几乎没有什么可做的。 您是否只是在寻找(希望是私人的;可能是静态的)Fields?您可以给它们一个初始值,但是 0 恰好是 int 字段的默认值。 我尽可能地安排了这个问题。我正在寻找一种解决方案,将变量分配给 0 一次,然后让循环递增变量,而不会在循环时再次分配给 0。 【参考方案1】:

我有这段代码,我需要在程序开始时只读取一次

该示例给出了控制器上的字段初始值设定项。控制器实例不是“程序”的同义词;控制器实例更常见地映射到一个单个请求(尽管在局部的情况下,它实际上可以只是一个请求的片段)。

如果您只想一次性做某事,静态字段初始化器可能会很有用;但是,不清楚您想在您的场景中做什么,就像任何 静态 一样,分数将在 所有用户 之间共享 - 通常不是想要的。另外:除非您了解所选框架的上下文中的并发性(从问题来看:您不了解),否则 static 字段通常应该是 readonly 并且是不可变的。

在您的情况下,更合适的解决方案可能是每个客户端状态;可能是“会话状态”。

【讨论】:

程序向用户提出问题,用户回答问题。现在我想统计用户设法得到正确或错误答案的正确和错误答案。我看到的唯一方法是建立一个计数器来保存用户得到的正确和错误答案的数量。显示答案是否正确的方法在控制器中,因此我想在知道答案是否正确后立即放置计数器。 @Charlot which again: 听起来像是会话状态的场景;或数据库;不是控制器字段【参考方案2】:

您可以在构造函数中分配 0 即 falseAns = 0 所以它不会在循环中一次又一次地分配 0。

【讨论】:

以上是关于如何从 onclick 按钮调用方法? - 视觉工作室的主要内容,如果未能解决你的问题,请参考以下文章

button按钮如何在onclick中调用java后台函数

如何在 Node.js 中从客户端(例如 html 按钮 onclick)调用服务器端函数?

Unity UI按钮不调用Onclick方法

从 HTML 中的 onClick 属性调用 jQuery 方法

按钮单击时不会调用onClick方法

onClick 方法不是从带有 dataBinding 的 .xml 绑定表达式中调用的