kez
kez

Reputation: 2313

create a folder once a button click in asp.net mvc

I'm creating asp.net mvc 5 application.In that application I want generate a Folder once I click a button on front end view page.

I want to generate that folder with in following location ~/Essential_Folder/

<input type = "button" value="Create_Folder" class="btn btn-default" id="create_folder"/>

How can I do this ,

  1. can I do this using Server side language (in my case its C#), if its how ?

  2. is this possible to do using client side language (such as JavaScript) ?

script

<script type="text/javascript">

     $('btn-default').click(function () {


     });

  </script>

Upvotes: 2

Views: 1884

Answers (1)

Sirwan Afifi
Sirwan Afifi

Reputation: 10824

As @Stephen mentioned, you need to use ajax in order to create a folder. So you can have an action method like this:

    [HttpPost]
    public JsonResult CreateDirectory()
    {
        //if location has folder called "Essential_Folder" it should allow to goto inside of this if condition
        if (Directory.Exists(Server.MapPath("~/Content/Essential_Folder/")))
        {
            Directory.CreateDirectory(Server.MapPath(string.Format("~/Content/Essential_Folder/NewDir_{0}",
            DateTime.Now.Millisecond)));
            return Json("OK");
        }
        return Json("NO");
    }

And your ajax call should something like this:

<script type="text/javascript">

    $('.btn').click(function() {
        $.ajax({
            url: "@Url.Action("CreateDirectory")",
            type: "POST",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            error: function (response) {
                alert(response.responseText);
            },
            success: function (response) {
                if (response === 'OK')
                    alert("Directory has been created");
                else
                    alert("errro");
            }
        });
    });

</script>

Upvotes: 2

Related Questions