HQBrowser
benyblack
@
۷ شهريور ۱۳۸۹-۲۲:۳۳
با آرزوی قبولی طاعات و عبادات همه دوستان، این شب ها اساسا التماس دعا داریم.
HQBRowser نام یک برنامه تحت وب هست که اخیرا شروع کردم و سورس رو در
CodePlex گذاشتم. برنامه با MVC 2 نوشته شده و در اصل جهت مرور متن قرآن و ترجمه ها درست شده.
البته سعی شده که مفاهیم اصلی MVC به کار گرفته بشه و از امکانات CSS3 و در ادامه از HTML 5 استفاده بشود.
یک قسمت از برنامه هم به پیاده سازی API وب اختصاص پیدا کرده تا بشه از امکانات این سایت در وبلاگ ها و وب سایت های دیگه استفاده کرد.
در آخر هم این شعر آشنا حرف دل ماست:
اگر یادتان بود و باران گرفت
دعایی به حال بیابان کنید
T4 & MVC
benyblack
@
۲ شهريور ۱۳۸۹-۲۱:۴۷
اگر خواستید T4 Template های پیش فرض MVC رو ویرایش کنید، اینجا دنبالش بگردید:
Common7\IDE\ItemTemplates\CSharp\Web\MVC 2\CodeTemplates\
این هم ادیتور:
Ajax Request & MVC
benyblack
@
۲۸ مرداد ۱۳۸۹-۱۶:0۸
بعضی از مواقع پیش میاد که بخواهیم درخواست های معمولی و Ajax رو از طریق یک Action پاسخ بگیم اما در View های مختلف، برای مثال در Paging:
public ActionResult Archive(int pageindex = 1) {
EntitiesDNECM db = new EntitiesDNECM();
var list = db.Content.OrderByDescending(x => x.Id);
PaginatedList plist = new PaginatedList(
list, pageindex, pagesize,simplepath,ajaxpath,container);
if (Request.IsAjaxRequest()) {
return PartialView("aArchive",plist);
}
return View(plist);
}
این باعث میشه که لینک های قابل جستجو ساده تر تولید بشن.
LINQ To Saffari
benyblack
@
۱۴ مرداد ۱۳۸۹-۱۸:۲۶
نظر شما در باره این کد از برادر صفاری چیست!؟
private void cmdProcess_Click(object sender, EventArgs e) {
msg(new String('=', 40) + "[Process started]");
FileInfo[] fia = GetFileList();
msg("{0:N0} file found, totally.", fia.Length);
var l = fia.Select(
f => new
{
FileName = f.FullName,
FileHash = Encoding.UTF8.GetString(
(new SHA1Managed()).ComputeHash(
new FileStream(
f.FullName,
FileMode.Open,
FileAccess.Read
)
)
)
}
)
.GroupBy(f => f.FileHash)
.Select(g => new { FileHash = g.Key, Files = g.Select(z => z.FileName) })
.Select(f => f.Files.First());
//.ToList();
msg("{0:N0} unique files found.", l.Count());
msg(new String('=', 40) + "[Process finished]");
}
OpenId & MVC
benyblack
@
۱۴ مرداد ۱۳۸۹-۱۷:۱۵
اما برای سریعتر انجام شدن کار میشه از سرویس هایی نظیر
janrain استفاده کنید. برای این کار اول این کلاس ها رو به پروژه اضافه کنید (
دانلود)
اما کنترلر:
public ActionResult Login(string token) {
if (string.IsNullOrEmpty(token)) {
return new EmptyResult();
} else {
IRpxLogin rpxLogin = new RpxLogin("your token");
try {
RpxProfile profile = rpxLogin.GetProfile(token);
//todo: validate username
string m = Membership.GetUserNameByEmail(profile.Email);
if (m == null)
return RedirectToAction("Register");
//else issue ticket and redirect to home or callback url
IssueAuthTicket(profile.Email, profile.DisplayName, false);
FormsAuthentication.SetAuthCookie(profile.DisplayName, false);
} catch (RpxException) {
return RedirectToAction("LogOn", "Account");
}
return RedirectToAction("Index", "Home");
}
}