Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从ASP.NET服务器调用确认对话框。。。并返回服务器上的choose_Javascript_C#_Asp.net_Confirm - Fatal编程技术网

Javascript 从ASP.NET服务器调用确认对话框。。。并返回服务器上的choose

Javascript 从ASP.NET服务器调用确认对话框。。。并返回服务器上的choose,javascript,c#,asp.net,confirm,Javascript,C#,Asp.net,Confirm,我是一个网络编程新手。我有一个问题: 用户看到一个页面并单击“上载文档” 文档将上载到服务器上,并被读取,页面将显示 从文件中了解到的新信息 用户可以单击“执行”按钮。这将调用一个服务器方法 在服务器方法中有一个if语句。如果这是真的,那是真的吗 好吧。。否则,将向用户显示中的确认对话框。 如果用户选择“否”,则过程结束 如果用户选择是,则执行另一个不同的服务器方法,然后再次重复点(d) 点1、2和3已完成。我对第四点有困难 我认为,因为我还没有完全清楚如何与服务器和客户端一起交互。我知道你

我是一个网络编程新手。我有一个问题:

  • 用户看到一个页面并单击“上载文档”
  • 文档将上载到服务器上,并被读取,页面将显示 从文件中了解到的新信息
  • 用户可以单击“执行”按钮。这将调用一个服务器方法
  • 在服务器方法中有一个if语句。如果这是真的,那是真的吗 好吧。。否则,将向用户显示中的确认对话框。
    • 如果用户选择“否”,则过程结束
    • 如果用户选择是,则执行另一个不同的服务器方法,然后再次重复点(d)
  • 点1、2和3已完成。我对第四点有困难

    我认为,因为我还没有完全清楚如何与服务器和客户端一起交互。我知道你不能直接从C#和viceversa调用JavaScript,但是有几种技术(比如Ajax)可以做到这一点。。。但这些我还不清楚

    这是我的代码示例:

    上传doc.aspx

    <script type="text/javascript" language="javascript">
        function ConfirmDialog() {
            if (confirm("You are a new. You wanna sign-in?") == true) {
                // call server method
            }
        }
    
    </script>
    
    ...
    
    <asp:Button ID="btnUpload" runat="server" Text="UPLOAD DOC" OnClick="btnUpload_Click" />
    
    
    函数ConfirmDialog(){
    if(确认(“你是新来的。你想登录吗?”)==真){
    //呼叫服务器方法
    }
    }
    ...
    
    上传doc.aspx.cs

    // ...
    
    private bool btnUpload_Click(List<MyStuff> myList)
    {
        List<MyStuff> vList = new List<MyStuff>();
        bool up = Upload(vList);
        // ...
    }
    
    private bool Upload(List<MyStuff> myList)
    {
        bool registered;
    
        // ... other stuffs...
    
        if (registered == true)
        {
            // do things...
        }
        else
        {
            // from here should show the confirm dialog.
            System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "ConfirmDialog()", true);
        }
    }
    
    /。。。
    私人bool btnUpload\u单击(列表myList)
    {
    List vList=新列表();
    bool up=上传(vList);
    // ...
    }
    私有bool上传(列表myList)
    {
    bool注册;
    //…其他东西。。。
    如果(已注册==true)
    {
    //做事。。。
    }
    其他的
    {
    //从这里应该显示确认对话框。
    System.Web.UI.ScriptManager.RegisterStartupScript(this,this.GetType(),“script”,“ConfirmDialog()”,true);
    }
    }
    
    强调您可能已经知道的:C代码在服务器上运行,Javascript在客户端上运行。
    也就是说,您可以从服务器调用Javascript函数,方法是在客户端呈现页面时让它们运行

    我建议您阅读有关课程的内容,这将帮助您完成这项任务

    更具体地说,类似这样的内容可能就是您希望在
    上传
    函数的
    else
    类中添加的内容:

    ScriptManager.RegisterStartupScript(this, this.GetType(), "confirmDialog", "ConfirmDialog();", true);
    

    关于生成从客户端到服务器的回发,使用方法

    您可以在以下
    C#stackoverflow上进行谷歌搜索,如果(确认javascript
    ,这里是众多选项中的一个是的,我查看了google和stackoverflow,但我没有找到(或者我认为我没有找到),对我的紧急情况没有任何帮助。因为是的,我想为用户确认,但在那之后,如果用户选择是,我想在服务器上继续(可能不刷新页面)。耐心点,这对我来说是一个新世界:)好的,我已经添加了
    page.ClientScript.RegisterStartupScript(this.GetType(),“script”,“ConfirmDialog()”,true)在else语句中。现在我看到一个确认对话框,很好。但是我必须调用另一个服务器方法,jsupdaterd中的login()方法,然后显示确认对话框。现在,如果选择是,我需要在服务器上继续(以特定方法)