PDA

View Full Version : چگونگی استفاده از Image Browser in Kendo editor



mohsen_zelzela00
جمعه 23 اسفند 1392, 08:54 صبح
با سلام خدمت اساتید محترم

من قصد دارم از Image Browser موجود در Kendo editor استفاده کنم برای این کار من کد زیر رو نوشتم


@(Html.Kendo().EditorFor(model => model.TenderContent)
.HtmlAttributes(new { style = "width: 500px;height:300px" })

.Tools(tools => tools.InsertImage())
.ImageBrowser(imageBrowser => imageBrowser


.Image("~/Content/UserFiles/Images/{0}")
.Read(MVC.Admin.ImageBrowser.ActionNames.Read,MVC. Admin.ImageBrowser.Name)
.Create("Create", "ImageBrowser")
.Destroy("Destroy", "ImageBrowser")
.Upload("Upload", "ImageBrowser")
.Thumbnail("Thumbnail", "ImageBrowser")

)
)

و کنترل ImageBrowser

public partial class ImageBrowserController : EditorImageBrowserController
{
private const string contentFolderRoot = "~/Content/";
private const string prettyName = "Images/";
private static readonly string[] foldersToCopy = new[] { "~/Content/shared/" };


/// <summary>
/// Gets the base paths from which content will be served.
/// </summary>
public override string ContentPath
{
get
{
return CreateUserFolder();
}
}

private string CreateUserFolder()
{
var virtualPath = Path.Combine(contentFolderRoot, "UserFiles", prettyName);

var path = Server.MapPath(virtualPath);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
foreach (var sourceFolder in foldersToCopy)
{
CopyFolder(Server.MapPath(sourceFolder), path);
}
}
return virtualPath;
}

و ساختار پوشه بندی


ولی زمان اجرا یه خطای زیر بر می خورم


<b> Description: </b>The type of page you have requested is not served because it has been explicitly forbidden. &nbsp;&nbsp;&nbsp;&nbsp;Please review the URL below and make sure that it is spelled correctly.
<br><br>
<b> Requested URL: </b>/Admin/ImageBrowser/Read<br><br>


ممنون میشم اساتید راهنمایی کنند.http://i.stack.imgur.com/lC3kT.png

مهدی کرامتی
جمعه 23 اسفند 1392, 10:47 صبح
چرا در این خط

.Read(MVC.Admin.ImageBrowser.ActionNames.Read,MVC. Admin.ImageBrowser.Name)
همانند بقیه خط ها مثلا

.Create("Create", "ImageBrowser")
نام اکشن و کنترلر را به صورت String وارد نکرده اید؟ آیا در متد Read قرار است از اکشن یا کنترلری که در مسیر دیگری است استفاده شود؟

mohsen_zelzela00
جمعه 23 اسفند 1392, 11:21 صبح
نام اکشن و کنترلر را به صورت String وارد نکرده اید؟
آیا در متد Read قرار است از اکشن یا کنترلری که در مسیر دیگری است استفاده شود؟

من کد خودم رو به صورت زیر تغییر دادم

@(Html.Kendo().EditorFor(model => model.TenderContent)
.HtmlAttributes(new { style = "width: 500px;height:300px" })

.Tools(tools => tools.InsertImage())
.ImageBrowser(imageBrowser => imageBrowser


.Image("~/Content/UserFiles/Images/{0}")
.Read("Read", "ImageBrowser")

.Create("Create", "ImageBrowser")
.Destroy("Destroy", "ImageBrowser")
.Upload("Upload", "ImageBrowser")
.Thumbnail("Thumbnail", "ImageBrowser")

)
)


ولی باز همون مشکل قبل رو دارد.نه در متد Read کار خواصی انجام ندادم یعنی مانند مثال سایت Kendo این کار رو انجام دادم.