Javascript 在asp.net mvc中单击按钮后创建文件夹
我正在创建asp.net mvc 5应用程序。在该应用程序中,单击前端视图页面上的按钮后,我希望生成一个文件夹 我想在以下位置生成文件夹Javascript 在asp.net mvc中单击按钮后创建文件夹,javascript,c#,asp.net-mvc,directory,create-directory,Javascript,C#,Asp.net Mvc,Directory,Create Directory,我正在创建asp.net mvc 5应用程序。在该应用程序中,单击前端视图页面上的按钮后,我希望生成一个文件夹 我想在以下位置生成文件夹~/Essential\u folder/ <input type = "button" value="Create_Folder" class="btn btn-default" id="create_folder"/> 我该怎么做呢 我可以使用服务器端语言(在我的例子中是C#)来实现这一点吗 使用客户端语言(如JavaScript)可以做到
~/Essential\u folder/
<input type = "button" value="Create_Folder" class="btn btn-default" id="create_folder"/>
我该怎么做呢
<script type="text/javascript">
$('btn-default').click(function () {
});
</script>
$('btn-default')。单击(函数(){
});
正如@Stephen所提到的,您需要使用ajax来创建文件夹。因此,您可以使用如下操作方法:
[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");
}
<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>
您的ajax调用应该是这样的:
[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");
}
<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>
$('.btn')。单击(函数(){
$.ajax({
url:“@url.Action(“CreateDirectory”)”,
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
错误:函数(响应){
警报(response.responseText);
},
成功:功能(响应){
如果(响应=='OK')
警报(“已创建目录”);
其他的
警报(“errro”);
}
});
});
您需要处理按钮。单击()。因为由于安全原因,javascript或jquery无法在windows中实际创建文件/文件夹。那么为什么不直接让按钮点击控制器动作来创建目录呢@dotnetkid这正是我的评论stating@StephenMuecke因此,我应该看看“在asp.net mvc中使用ajax创建文件夹”是不是?控制器代码只需要使用该方法(并返回一个JsonResult
,以指示成功还是可以在ajax成功回调中测试),因为调用进行了修改,它可能应该是一个帖子而不是一个GET(不希望用户能够导航到它)不要在同一个位置使用Server.MapPath
两次。@Sirwanaffi谢谢我正在尝试集成此解决方案,这里我还有一个问题,如果我们想创建新文件夹,我们应该在~/Content
位置内创建吗?通常在~/Content
内存储文件和文件夹,但您也可以使用~/Essential\u Folder/
@sirwanaffi但很久以前,在mvc 4应用程序中,我在根位置内手动创建文件夹,然后使用IIS管理器部署该项目,但后来那个文件夹消失了,我想这就是为什么你提到那个位置