Ajax Post ile Model’ i ActionResult’a Gönderme
Posted by Hakan Günay in .Net, Ajax, C#, Javascript, Jquery, MVC on 10/02/2012
Eğer MVC’ de sayfa içerisinden model’ i ActionResult’ a Ajax Post ile göndermek istiyorsanız aşağıdaki kod işinizi görecektir.
data: $("#frmContactUs").serialize()
$(document).ready(function () {
$('#btnSendMessage').click(function () {
$.ajax({
type: 'POST',
url: '/Customer/ContactUs/',
data: $('#frmContactUs').serialize(),
success: function (data) {
$('#dvResult').html(data.Result);
},
error: function (data) {
$('#dvResult').html(data.Result);
}
});
});
});
[HttpPost]
public ActionResult ContactUs(ContactUsModel model) {
if (ModelState.IsValid) {
///...
return Json(new { Success = true, Result = "Mesajınız Gönderildi." });
}
return Json(new { Success = false, Result = "Mesajınız Gönderilemedi." });
}
entity framework codefirst one to one relation
Posted by Beytullah Taskin in .Net, C# on 10/01/2012
Customer Class
public int CustomerID { get; set; }
public string CustomerFirstName { get; set; }
public string CustomerLastName { get; set; }
public virtual Address CustomerShippingAddress { get; set; }
Address Class
public int AddressID { get; set; }
public string AddressTag { get; set; }
public string AddressText { get; set; }
public virtual Customer AddressShippingCustomer { get; set; }
Customer Mapping
public CustomerMap() {
this.ToTable("tblCustomer");
this.HasKey(a => a.Id);
this.Property(a => a.CustomerID).HasColumnName("CustomerID");
this.HasOptional(a => a.CustomerShippingAddress).WithOptionalDependent(b => b.AddressShippingCustomer).Map(m => m.MapKey("CustomerShippingAddressID"));
}
HtmlEditor-FireFox Unknown Character
Posted by Sadullah Keles in ASP.Net on 26/05/2011
Eğer AjaxControlToolkit in HtmlEditor ünü kullanırken Firefox ta türkçe karakterleri görüntüleyememek gibi bir problem ile karşılaşırsanız HtmlEditorünüze NoUnicode=”true” property sini ekleyin, problemi çözebilir
Javascript Trim Fonksiyonu
Posted by Hakan Günay in Javascript on 28/01/2011
![]() |
Javascript’ te herhangi bir string’ i trim’ lemek istediginizde asagidaki kod işinizi görecektir. String’ in hem başında ki hem de sonunda ki tüm boşluklar replace fonksiyonu ile temizlenecektir. |
var sString = ' trim-replace '; sString = sString.replace(/^\s+|\s+$/g, '');
tsql de kümülatif toplam
Posted by Beytullah Taskin in MS SQL Server, SQL, SQL Server, T-SQL on 06/01/2011
geçici tablo create ediyoruz.create table #tmpTable (DayCount int identity(1,1), Sales money)örnek data insert ediyoruz.
DECLARE @DayCount int, @Sales MONEY SET @DayCount = 5 SET @Sales = 10 WHILE @DayCount < 5000 BEGIN INSERT #tmpTable VALUES (@Sales) SET @DayCount = @DayCount + 1 SET @Sales = @Sales + 15 END select * from #tmpTable;1.yöntem 2sn
SELECT DayCount, Sales, Sales+COALESCE((SELECT SUM(Sales) FROM #tmpTable b WHERE b.DayCount < a.DayCount),0) AS RunningTotal FROM #tmpTable a ORDER BY DayCount2.yöntem 7 sn
SELECT a.DayCount, a.Sales, SUM(b.Sales) AS RunningTotal FROM #tmpTable a CROSS JOIN #tmpTable b WHERE (b.DayCount <= a.DayCount) GROUP BY a.DayCount,a.Sales ORDER BY a.DayCount,a.Sales3.yöntem 0 sn
;WITH TmpTable(DayCount, Sales, RunningTotal) AS ( SELECT 0 AS DayCount, CAST(0 AS money) AS Sales, CAST(0 AS money) AS RunningTotal UNION ALL SELECT tmp.DayCount, tmp.Sales, tmp.Sales + t.RunningTotal AS RunningTotal FROM #tmpTable AS tmp, TmpTable AS t WHERE (tmp.DayCount = t.DayCount+1) ) SELECT * FROM TmpTable WHERE DayCount>0 OPTION (MAXRECURSION 32767);örnek sonuç;
MaintainScrollPositionOnPostback – sayfa refresh oldugunda scroolbar pozisyonunu korumak
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="default" smartNavigation="true" MaintainScrollPositionOnPostback="true" %>
ASP.Net Control Print
Posted by Admin in .Net, ASP.Net, Javascript, Stylesheet on 30/12/2010
<script language=JavaScript>
<!--
function printPartOfPage() {
var printContent = document.getElementById('pnlRealtyVisitReport');
var windowUrl = 'about:blank';
var uniqueName = new Date();
var windowName = 'Print' + uniqueName.getTime();
var printWindow = window.open(windowUrl, windowName,
'left=50000,top=50000,width=0,height=0');
printWindow.document.write(printContent.innerHTML);
printWindow.document.close();
printWindow.focus();
printWindow.print();
printWindow.close();
}
// -->
</script>
<style type="text/css">
@media print {<
#btnCancel{
display: none;
}
#btnPrint {
display: none;
}
</style>
<asp:Panel runat="server" ID="pnlRealtyVisitReport" CssClass="modalMain" Width="630" Style="display: none" ClientIDMode="Static"> </asp:Panel> <asp:Button runat="server" ID="btnPrint" ClientIDMode="Static" Text="<%$ Resources:Labels, btnPrint %>" CausesValidation="false" OnClientClick="printPartOfPage();" />
jQuery ile Flash (.swf) oynatımı
Posted by Serdar Şafak in ASP.Net, Javascript on 27/10/2010
Merhaba,
Şu an hali hazırda son aşamalarına gelmiş bir projenin testlerinden dönen buglar sonrasında bir flash banner’ı oynatma ihtiyacı duyduk ve nasıl yaparız en kısa yoldan ne kullanarak çalıştırabiliriz kısmında takıldık ve biraz araştırarak biraz bir şeyler katarak nasıl yaptığımıza isterseniz birlikte göz atalım. Öncelikle
(function ()
var $$;
$$ = jQuery.fn.flash = function (htmlOptions, pluginOptions, replace, update) {
// Set the default block.
var block = replace || $$.replace;
// Merge the default and passed plugin options.
pluginOptions = $$.copy($$.pluginOptions, pluginOptions);
// Detect Flash.
if (!$$.hasFlash(pluginOptions.version)) {
if (pluginOptions.expressInstall && $$.hasFlash(6, 0, 65)) {
var expressInstallOptions = {
flashvars: {
MMredirectURL: location,
MMplayerType: 'PlugIn',
MMdoctitle: jQuery('title').text()
}
};
// Ask the user to update (if specified).
} else if (pluginOptions.update) {
// Change the block to insert the update message instead of the flash movie.
block = update || $$.update;
// Fail
} else {
return this;
}
}
// Merge the default, express install and passed html options.
htmlOptions = $$.copy($$.htmlOptions, expressInstallOptions, htmlOptions);
return this.each(function () {
block.call(this, $$.copy(htmlOptions));
});
};
$$.copy = function () {
var options = {}, flashvars = {};
for (var i = 0; i < arguments.length; i++) {
var arg = arguments[i];
if (arg == undefined) continue;
jQuery.extend(options, arg);
// don't clobber one flash vars object with another
if (arg.flashvars == undefined) continue;
jQuery.extend(flashvars, arg.flashvars);
}
options.flashvars = flashvars;
return options;
};
$$.hasFlash = function () {
// look for a flag in the query string to bypass flash detection
if (/hasFlash\=true/.test(location)) return true;
if (/hasFlash\=false/.test(location)) return false;
var pv = $$.hasFlash.playerVersion().match(/\d+/g);
var rv = String([arguments[0], arguments[1], arguments[2]]).match(/\d+/g) || String($$.pluginOptions.version).match(/\d+/g);
for (var i = 0; i < 3; i++) {
pv[i] = parseInt(pv[i] || 0);
rv[i] = parseInt(rv[i] || 0);
// player is less than required
if (pv[i] < rv[i]) return false;
// player is greater than required
if (pv[i] > rv[i]) return true;
}
// major version, minor version and revision match exactly
return true;
};
$$.hasFlash.playerVersion = function () {
// ie
try {
try {
var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
try { axo.AllowScriptAccess = 'always'; }
catch (e) { return '6,0,0'; }
} catch (e) { }
return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
// other browsers
} catch (e) {
try {
if (navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) {
return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
}
} catch (e) { }
}
return '0,0,0';
};
$$.htmlOptions = {
height: 240,
flashvars: {},
pluginspage: 'http://www.adobe.com/go/getflashplayer',
src: '#',
type: 'application/x-shockwave-flash',
width: 320
};
$$.pluginOptions = {
expressInstall: false,
update: true,
version: '6.0.65'
};
$$.replace = function (htmlOptions) {
this.innerHTML = '<div class="alt">' + this.innerHTML + '</div>';
jQuery(this)
.addClass('flash-replaced')
.prepend($$.transform(htmlOptions));
};
/**
$$.update = function (htmlOptions) {
var url = String(location).split('?');
url.splice(1, 0, '?hasFlash=true&');
url = url.join('');
var msg = '<p>This content requires the Flash Player. <a href="http://www.adobe.com/go/getflashplayer">Download Flash Player</a>. Already have Flash Player? <a href="' + url + '">Click here.</a></p>';
this.innerHTML = '<span class="alt">' + this.innerHTML + '</span>';
jQuery(this)
.addClass('flash-update')
.prepend(msg);
};
function toAttributeString() {
var s = '';
for (var key in this)
if (typeof this[key] != 'function')
s += key + '="' + this[key] + '" ';
return s;
};
function toFlashvarsString() {
var s = '';
for (var key in this)
if (typeof this[key] != 'function')
s += key + '=' + encodeURIComponent(this[key]) + '&';
return s.replace(/&$/, '');
};
$$.transform = function (htmlOptions) {
htmlOptions.toString = toAttributeString;
if (htmlOptions.flashvars) htmlOptions.flashvars.toString = toFlashvarsString;
return '<embed ' + String(htmlOptions) + '/>';
};
if (window.attachEvent) {
window.attachEvent("onbeforeunload", function () {
__flash_unloadHandler = function () { };
__flash_savedUnloadHandler = function () { };
});
}
})();
bu javaScript kodunu bir dosyaya yazıyoruz ve adını jquery.flash.js olarak kaydediyoruz.
Eğer sayfalarınızın inherit edildiği bir masterpage’e sahipseniz bunu masterpageFile’ına değilseniz sayfanızın page direktiflerinin olduğu kısma yani en üst kısma
<script src="/Scripts/jquery.flash.js" type="text/javascript"></script>
kodunu ekliyoruz.
Sonrasında da aslında olay basit. Flash animasyonu oynatacağınız sayfanıza
<script type="text/javascript">
$('#example').flash(
);
</script>
şeklinde html tarafına scriptimizi ekliyoruz. Daha sonrada:
<div id="example" class="flash-replaced"> <embed width="220" height="165" type="application/x-shockwave-flash" src="Videos/Firsatilanlari_220x165.swf?clickTAG=/Intro/pgHighlightingOptions.aspx" pluginspage="http://www.adobe.com/go/getflashplayer" /> </div>
bu iki div arasına (< e m b e d />) tag’i içerisindeki kodu yazıyoruz. Burada önemli iki unsur var, birincisi sayfaya eklediğimiz javaScriptte “$(‘#example’).flash” example adı aslında bizim alt taraftaki div’imizin ID si eğer isimleri farklı olursa flashPlayer çalışmaz. Yani div’in ID’ si ile javaScript içerisindeki isim aynı olmalı.
Bu arada width=”220″ yazarak animasyonumuzun genişliğinin 220px olduğunu height=”165″ yazarak animasyonun yüksekliğinin 165px olduğunu, type=”application/x-shockwave-flash” yazarak ne tür bir dosya olduğunu belirtiyoruz ve en önemlisi ve dikkat etmemiz gereken ikinci unsur olarak: src=”Videos/Firsatilanlari_220x165.swf?clickTAG=/Intro/pgHighlightingOptions.aspx” kısmı bizim flash dosyamızın path’ini belirtiyor. ?clickTAG=/Intro/pgHighlightingOptions.aspx kısmı ise flash palyer’ın üzerine tıklandığınıda Redirect olacak page’imizi söylüyor. Video isminden sonra “?clickTAG=” eklememiz muhakkak gerekli. “a href=”pgZamasing.aspx” şekline yazarak ya da HyperLink kullanmak isterseniz ben çalıştıramadım ancak bu şekilde sorunu çözebildim.
Görüşmek üzere.
datalist’de horizontal databinding
Posted by Beytullah Taskin in .Net, ASP.Net, C#, Css, Stylesheet, Theme on 19/10/2010
datalist’de yukarıdaki gibi bir görüntü sağlayabilmek için kısa bir örnek;
aspx;
<table>
<tr>
<td>
<asp:Label ID="lblRate" runat="server" Text="Faiz Oranı" Width="150px" />
<br />
<asp:Label ID="lblApr" runat="server" Text="YMO" Width="150px" />
<br />
<asp:Label ID="lblTotal" runat="server" Text="Toplam Ödeme" Width="150px" />
<br />
</td>
<td>
<asp:DataList ID="DataList1" runat="server" RepeatLayout="Table" RepeatDirection="Horizontal">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblRateVal" runat="server" Text='<%# Eval("Rate") %>' Width="100px" />
<br />
<asp:Label ID="lblAprVal" runat="server" Text='<%# Eval("Apr") %>' Width="100px" />
<br />
<asp:Label ID="lblTotalVal" runat="server" Text='<%# Eval("Total") %>' Width="10px" />
<br />
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:DataList>
</td>
</tr>
</table>
cs file;
protected void Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack) {
List<Data> clsData = new List<Data> {
new Data { Rate = 0.45M, Apr = 10.45M, Total = 10000M },
new Data { Rate = 0.50M, Apr = 10.50M, Total = 11000M },
new Data { Rate = 0.55M, Apr = 10.55M, Total = 12000M },
new Data { Rate = 0.60M, Apr = 10.60M, Total = 13000M },
new Data { Rate = 0.65M, Apr = 10.70M, Total = 14000M },
};
DataList1.RepeatColumns = clsData.Count;
DataList1.DataSource = clsData;
DataList1.DataBind();
}
}
public class Data {
public decimal Rate { get; set; }
public decimal Apr { get; set; }
public decimal Total { get; set; }
}
popup blocker problemini gidermek için LinkButton/Button’a target=’blank’ ekleme
Posted by Beytullah Taskin in .Net, ASP.Net, Javascript on 09/10/2010
Linkbutton’ın click eventi içerisinde bir kod bloğu çalıştırdıktan sonra, bir yere response.redirect etmek istiyoruz. Fakat bu redirect ettiğimiz yeri de yeni sayfada açmak istiyorsak,
html kısmında linkbutton’a OnClientClick=”aspnetForm.target =’_blank’;” yazmanız yeterli.
<asp:LinkButton ID="btnTest" runat="server" OnClick="btnTest_Click" OnClientClick="aspnetForm.target ='_blank';"></asp:LinkButton>
protected void btnTest_Click(object sender, EventArgs e) {
// Some codes
Response.Redirect("/test.aspx");
}
önemli uyarı: update panel içerisinde windows open yapmıyor!!!



Yorumlar