Friday, December 27, 2013
1, https://github.com/peachananr/autofix_anything
2, http://lirancohen.github.io/stickUp/#installation
3, http://codegeekz.com/top-jquery-plugins/
4, http://thedesignblitz.com/best-jquery-plugins-september-2013/
5, http://craigsworks.com/projects/qtip/docs/tutorials
6, http://fnagel.github.io/MultiDialog/demos/index.html
7, http://swaydeng.github.io/imgcolr/ (https://github.com/swaydeng/imgcolr)
8,http://owlgraphic.com/owlcarousel/#demo
9, http://jquery-plugins.net/
10, http://www.htmldrive.net/
Sunday, December 15, 2013
- Load
- getJson
- GET
- POST
- Ajax
- Cho phép thực hiện gọi với cả hai Request Get và Post
- Cho phép tải các phần của trang.
Monday, December 9, 2013
Posted by Max on Wednesday, September 01, 2010 6:50 AM
If you need to get the identity value from a query, you can use SCOPE_IDENTITY().
In your stored procedure add:
SET @id=SCOPE_IDENTITY()
RETURN @id
and when you create the procedure, declare:
@id int output
-Example-
In this example we create a Stored Procedure to add a new category
(idcategory,categoryname). The procedure return the identity value, in
this case the id of the category:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[anm_InsertCategory] (
@categoryname nvarchar(256),
@idcategory int output
)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO [anm_Categories] ([category]) VALUES (@categoryname)
SET @idcategory=SCOPE_IDENTITY()
RETURN @idcategory
END
In this way we use the stored procedure in C#:
string strConn = ConfigurationManager.ConnectionStrings["csname"].ToString();
SqlConnection conn = new SqlConnection(strConn);
SqlCommand command = new SqlCommand("anm_InsertCategory", conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@categoryname", SqlDbType.NVarChar).Value = cat_name;
command.Parameters.Add("@idcategory", SqlDbType.Int).Direction = ParameterDirection.Output;
conn.Open();
command.ExecuteNonQuery();
string idcat = command.Parameters["@idcategory"].Value.ToString();
Now the value of the string idcat is the identity value of the new
category just added and you can use this value in another query.
Labels: ASP.net, C#, SQL Server 2008 Express
Friday, September 6, 2013
Copy and paste this code into proxy.ashx.cs. using System; using System.IO; using System.Net; using System.Web; namespace WebApplication1 { public class proxy : IHttpHandler { public void ProcessRequest(HttpContext context) { HttpResponse response = context.Response; // Check for query string string uri = Uri.UnescapeDataString(context.Request.QueryString.ToString()); if (string.IsNullOrWhiteSpace(uri)) { response.StatusCode = 403; response.End(); return; } // Filter requests if (!uri.ToLowerInvariant().Contains("wikimedia.org")) { response.StatusCode = 403; response.End(); return; } // Create web request WebRequest webRequest = WebRequest.Create(new Uri(uri)); webRequest.Method = context.Request.HttpMethod; // Send the request to the server WebResponse serverResponse = null; try { serverResponse = webRequest.GetResponse(); } catch (WebException webExc) { response.StatusCode = 500; response.StatusDescription = webExc.Status.ToString(); response.Write(webExc.Response); response.End(); return; } // Exit if invalid response if (serverResponse == null) { response.End(); return; } // Configure reponse response.ContentType = serverResponse.ContentType; Stream stream = serverResponse.GetResponseStream(); byte[] buffer = new byte[32768]; int read = 0; int chunk; while ((chunk = stream.Read(buffer, read, buffer.Length - read)) > 0) { read += chunk; if (read != buffer.Length) { continue; } int nextByte = stream.ReadByte(); if (nextByte == -1) { break; } // Resize the buffer byte[] newBuffer = new byte[buffer.Length * 2]; Array.Copy(buffer, newBuffer, buffer.Length); newBuffer[read] = (byte)nextByte; buffer = newBuffer; read++; } // Buffer is now too big. Shrink it. byte[] ret = new byte[read]; Array.Copy(buffer, ret, read); response.OutputStream.Write(ret, 0, ret.Length); serverResponse.Close(); stream.Close(); response.End(); } public bool IsReusable { get { return false; } } } } Without closing the web browser, append the name of the proxy service and the web resource (highlighted below) that you need access to. For example: http://localhost:51220/proxy.ashx?http://upload.wikimedia.org/wikipedia/en/f/f0/New-esri-logo.jpg
Wednesday, September 4, 2013
Cách làm như sau:
Cách 1:
chuột phải vào biểu tượng Computer chọn properties hoặc gõ lện chuột trái Computer và gõ lệnh Control PanelAll Control Panel ItemsSystem một của sổ hiện ra ở dòng cuối cùng có chữ change product key màu xanh hiện ra bạn clik chuột vào đó cửa sổ mới mở ra sẽ có chỗ nhập key mới bạn nhập key và chọn next chờ một lúc để active key mơi thế là xong nhớ là máy tính phải nối mạng!
Cách 2:
Vì không biết win7 của bro active kiểu gì nên không đưa ra được phương án chính xác. Bạn thử thay đổi Key bằng command line xem.
Vào Start gõ cmd rồi chuột phải lên cmd chọn Run as Administrator
Gõ lệnh :
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
rồi enter
Trong đó XXXXX-XXXXX-XXXXX-XXXXX-XXXXX là key của bạn.
Để Actived Windows sau khi thay đổi Key gõ tiếp:
slmgr.vbs -ato
Enter
Nếu nó successfully thì OK
Cách 3:
1.Slmgr.vbs –ipk
see more here http://dotnetcluster.blogspot.com/2011/06/auto-refresh-div-using-ajax.html
Friday, June 21, 2013
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;
using System.Drawing;
string attachment = "attachment; filename=" + "abc" + ".pdf";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/pdf";
StringWriter s_tw = new StringWriter();
HtmlTextWriter h_textw = new HtmlTextWriter(s_tw);
h_textw.AddStyleAttribute("font-size", "7pt");
h_textw.AddStyleAttribute("color", "Black");
Panel1.RenderControl(h_textw);//Name of the Panel
Document doc = new Document();
doc = new Document(PageSize.A4, 5, 5, 15, 5);
FontFactory.GetFont("Verdana", 80, iTextSharp.text.Color.RED);
PdfWriter.GetInstance(doc, Response.OutputStream);
doc.Open();
StringReader s_tr = new StringReader(s_tw.ToString());
HTMLWorker html_worker = new HTMLWorker(doc);
html_worker.Parse(s_tr);
doc.Close();
Response.Write(doc);
}
}
Labels: C#, iTextSharp
Saturday, June 15, 2013
This is my version of a class that displays a check box in a DataGridView Header cell.
This is based on the code from http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/827907ea-c529-4254-9b15-2e6d571f5c5b
It assumes that the check box is located in the first DataGridView
column. It allows for column caption and provides built-in
check/uncheck functionality. Play with x and y parameters to place the
checkbox where you want in the header cell.
Here is a usage example:
The class listing:
Saturday, June 8, 2013
1) Open Notepad
2) Paste below code
Call LogEntry()
Sub LogEntry()
On Error Resume Next
Dim objRequest
Dim URL
Set objRequest = CreateObject("Microsoft.XMLHTTP")
URL = "http://www.YourDomain.com/track.aspx"
objRequest.open "POST", URL , false
objRequest.Send
Set objRequest = Nothing
End Sub
3) Save page as *.vbs
4) Schedule this task using Windows Task Scheduler
Start-> All Programs-> Accessories-> System Tools-> Scheduled Tasks.
To schedule a new task:
1. Double-click Add Scheduled Task to start the Scheduled Task Wizard, and then click Next in the first dialog box.
2. The next dialog box displays a list of programs that are installed
on your computer, either as part of the Windows XP operating system, or
as a result of software installation.
Use one of the following procedures:
* If the program that you want to run is listed, click the program, and then click Next.
* If you want to run a program, script, or document that is
not listed, click Browse, click the folder and file that you want to
schedule, and then click Open.
3. Type a name for the task, and then choose one of the following options:
* Daily
* Weekly
* Monthly
* One time only
* When my computer starts (before a user logs on)
* When I log on (only after the current user logs on)
4. Click Next, specify the information about the day and time to run the task, and then click Next.
Note that the information about the day and time to run the task
vary depending on the selection that you made in the previous wizard
dialog box. For example, if you chose Weekly, you must indicate the day
of the week, the time, and if the task should run every week, every 2
weeks, every 3 weeks, and so on.
5. Type the name and password of
the user who is associated with this task. Make sure that you choose a
user with sufficient permissions to run the program. By default, the
wizard selects the name of the user who is currently logged on.
6. Click Next, and then click Finish after you verify the choices that you have made.
Using Advanced Options in Scheduled Tasks
If
you want to change the configuration of the task, click Open in the
advanced properties for the task before you click Finish. After you
click Finish, the Properties dialog box opens for the task.
On
the Schedule tab, you can change any of the scheduling options that you
chose in the wizard, and you can also change the task configuration so
that the task does not run too long, does not run if the computer is
running on batteries (for laptops), and to specify whether or not the
computer should be idle for the task to run.
NOTE: You can open
the Properties dialog box for the task at any time if you open Scheduled
Tasks, right-click the task, and then click Properties.
You
cannot schedule a task so that it repeats in an interval less than one
day; however, you can do this in the Properties dialog box:
1. Click the Schedule tab, and then click Advanced.
2. Click to select the Repeat task check box, and then specify the
number of minutes or hours in which you want the task to be repeated.
Schedule a Windows Task to call an ASP.NET web page - ASP.NET - VB.NET, Windows Task Scheduler
0 comments Posted by Duc Nguyen at 5:56 PMThe following is how you
can schedule a windows task that can call an ASP.NET web page. Usually
we want to schedule task from Windows. I have seen lots of questions
regarding this in the past.
The cool thing about
Windows task is that you can execute custom jobs to be executed in the
server without the need of a user to be logged in.
The following code can
be used to call ASPX web pages to run a specific job that needs to
execute some sort of logic. The script is written in VB.NET, but the web
page can be written with C# as the vbscript only is used to create the
call from the server to the page.
The steps are as follow:
- Write the Script (VB in this case)
- Create an ASP.NET page
- Schedule the task through the VBS Script
On Error Resume Next
To schedule a new task:
- Double-click Add Scheduled Task to start the Scheduled Task Wizard, and then click Next in the first dialog box.
- The next dialog box
displays a list of programs that are installed on your computer, either
as part of the Windows XP operating system, or as a result of software
installation.
Use one of the following procedures:- If the program that you want to run is listed, click the program, and then click Next.
- If you want to run a program, script, or document that is not listed, click Browse, click the folder and file that you want to schedule, and then click Open.
- Type a name for the task, and then choose one of the following options:
- Daily
- Weekly
- Monthly
- One time only
- When my computer starts (before a user logs on)
- When I log on (only after the current user logs on)
- Click Next, specify the information about the day and time to run the task, and then click Next.
Note that the information about the day and time to run the task vary depending on the selection that you made in the previous wizard dialog box. For example, if you chose Weekly, you must indicate the day of the week, the time, and if the task should run every week, every 2 weeks, every 3 weeks, and so on. - Type the name and password of the user who is associated with this task. Make sure that you choose a user with sufficient permissions to run the program. By default, the wizard selects the name of the user who is currently logged on.
- Click Next, and then click Finish after you verify the choices that you have made.
Using Advanced Options in Scheduled Tasks
On the Schedule tab, you can change any of the scheduling options that you chose in the wizard, and you can also change the task configuration so that the task does not run too long, does not run if the computer is running on batteries (for laptops), and to specify whether or not the computer should be idle for the task to run.
NOTE: You can open the Properties dialog box for the task at any time if you open Scheduled Tasks, right-click the task, and then click Properties.
You cannot schedule a task so that it repeats in an interval less than one day; however, you can do this in the Properties dialog box:
- Click the Schedule tab, and then click Advanced.
- Click to select the Repeat task check box, and then specify the number of minutes or hours in which you want the task to be repeated.
I hope you can find this useful.
Friday, May 17, 2013
I decided to write this post because I have not found a simple and
clear description for installing PHP on Windows, and setting this not
very common combination to work with MS SQL 2008.
We are currently working on porting the largest system ever created
in Deep Shift Labs from Windows 2000 and MS SQL 2000 to Windows 2008 and
MS SQL 2008. I want to speak briefly about the history of this system
and why we actually needed to install PHP on Windows. The system is
about 800K lines of PHP code and it has been helping people to solve
their business needs for the last 10 years. This system is designed for
one of our customers. The first few years, the system worked on FreeBSD,
Apache and PostgreSQL. Then the client’s company went public, and they
needed to switch to commercial software. Sometime in 2004, we have been
able, thanks to the fact that we originally used ADODB,
to move, with a little effort, from FreeBSD/Apache to Windows 2000/IIS 5
(PHP runs as an ISAPI module). Finally, in 2006 we moved the then small
database, both in structure and in size, to MS SQL 2000 from
PostgreSQL.
The most difficult part in the distant 2006 was to find a driver
which is bug free with MS SQL. We had tried everything supported by
ADODB back then, and, in the end, we decided in favor of php_dblib.dll
suggested and maintained by Frank Kromann. Frank was maintaining
MS SQL extensions in PHP project and helped us immensely. The
php_mssql.dll driver was using ntwdblib.dll from Microsoft, that does
not work with dates and long texts properly. php_dblib.dll used
dblib.dll from FreeTDS and we have not found any problems in it and
started using it.
And now came the moment when the customer wants to move to the operating
system and database that have Microsoft support (Windows 2000 and MS
SQL 2000 are not supported anymore) and such a move, in general, is a
common requirement in large enterprises.
Naturally, in the ADODB 4.93 we have been using since 2006, there is
no mssqlnative driver support and so the challenge was set as follows:
- Move the database from MS SQL 2000 to MS SQL 2008
- Move the web server from Windows 2000 and IIS 5 (ISAPI) on Windows 2008 and IIS 7 (FastCGI)
- Upgrade PHP 5.1.6 to PHP 5.4.6
- Upgrade ADODB from 4.93 to 5.17 with transition to the new driver ‘mssqlnative’
- To test the system, including the two replications processes to our database from servers running MS SQL 2000 and MS SQL 2005.
This is one of the installation methods (obviously the one we used).
1. Create C:\PHP and C:\tmp folders
2. Load non thread safe PHP version recommended for use here and here.
The file will contain _nts_ in the name, for example –
php-5.4.6-nts-Win32-VC9-x86.zip (latest version available at the time of
writing this post) from the site http://windows.php.net/download/.
3. Unpack it in C:\PHP
4. Load latest drivers from MS SQL Microsoft (file SQLSRV30) and extract it to C:\PHP\ext
5. Download the PHP web installer from Microsoft. They offer two versions and I used the latter one available with PHP 5.3.13. Install it.
You can ask a reasonable question why we install 5.3.13 to switch to
5.4.6. There are two reasons. First – I did not manage to set PHP 5.4.6
and manually configure IIS. Despite my attempts to let PHP see its
php.ini file inside the C:\PHP I failed to do so. According to all the
manuals you need to create a variable PHPRC assigning the path to
php.ini, but in my case, someone has done something wrong.
Since PHP couldn’t see the configuration file, MS SQL driver was not
loaded. Being stuck at this point for a couple of hours I asked for help
in the forum and started looking for alternatives, waiting until
America wakes up and sees my ‘SOS’ message in the forum. It was then
that I accidentally came across a site
where I found the alternative I was looking for. Maybe I would not have
started using the installer if it had not offered to set this magical
and wonderful PHP Manager
I could not resist at the thought of trying. In the end I found that
the PHP Manager allows adding PHP 5.4.6, making its php.ini file
perfectly visible.
It installs all the necessary components as well. It took some 10
years for Microsoft to add some really cool things to run PHP on Windows
– here you have MS SQL driver and the installer which adds a special
PHP Manager inside IIS, and even Windows Cache PHP accelerator for IIS.
After installation, we have PHP 5.3.13 installed in the Program Files and PHP Manager inside IIS.
As you can see from the PHP Manager, you can control the
configuration parameters from php.ini, and the extensions are shown in a
separate page. Also here we see what php.ini file is being used and
where the error logs are written. There is quick access to the FastCGI
handler created by the installer. It is possible to add other versions
of PHP and switch between them. We have not tested if it is possible to
use PHP Manager to set different PHP versions on different virtual
hosts. I think this and much more, such as to use different php.ini
files for different virtual hosts can be done manually using the
excellent article by Ruslan Yakushev from Microsoft. We just needed to add PHP version 5.4.6 to “live happily ever after”.
Now we can add PHP 5.4.6, which we put into in C:\PHP. After adding,
we see that IIS now uses a new version of PHP, and that PHP Manager
created a new handler, which is used (we do not see it here), but we can
check with phpinfo(), which PHP manager can dynamically generate for us
(how-cool-it-is!).
Now it is time to look at PHP extensions (modules). I removed mysql
and added both versions of the MS SQL driver sqlsrv and pdo_sqlsrv. I
forgot to check if IIS sees our changes immediately. I am used to
executing “iisreset” after changing configuration.
PHP Manager offers two pre-defined configuration options for error handling for development and production.
When I changed the path to the error log, PHP Manager did not see my
changes, and I had to restart the IIS. I really got used to the old
fashioned way for a folder for uploaded files, session and logs and
store them in PHP C:\tmp. No wonder our periodic scripts are in C:\etc.
Options ‘Configure error reporting’ and ‘Set runtime limits’ are kept
separately in PHP Manager for convenience only, as they all (except for
the extension modules) are available from the ‘Manage all settings’
panel.
If you need to parse HTML files with PHP – create one more mapping by
looking at parameters of existing PHP mapping you already have.
Now we can try to connect to MS SQL with the driver only and via
ADODB. First you need to make sure the server is configured to allow
TCP/IP as well as port 1433 is open on the Windows firewall.
In my case it was not so. If you cannot connect from PHP, it is
recommended to install SQLCMD and use it for testing. For example, here we will find the required version of SQLCMD.
I want to draw your attention to the fact that the new Microsoft driver returns datetime as PHP DateTime::
object. But we use ADODB, which does this little trick converting this
object into a string on line 794 of adodb-mssqlnative.inc.php file:
$this->fields[$key] = $value->format("Y-m-d\TH:i:s\Z"); |
if(is_array($this->fields)) { foreach($this->fields as $key=>$value) { if (is_object($value) && method_exists($value, 'format')) {//is DateTime object //$this->fields[$key] = $value->format("Y-m-d\TH:i:s\Z"); //DSL DateTime output format fix $this->fields[$key] = $value->format("Y-m-d H:i:s"); } } } |
echo "Direct driver connection
";
$connectionInfo = array(
"UID"=>'aws_user',
"PWD"=>'Q1w2e3r4t5',
"Database"=>"AWS_Database"
);
/* Connect using SQL Server Authentication. */
$conn = sqlsrv_connect('192.168.3.86, 1433', $connectionInfo);
if( $conn === false )
{
echo "Unable to connect.";
die( print_r( sqlsrv_errors(), true));
}
$tsql = "SELECT GETDATE() AS today";
$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false )
{
echo "Error in executing query.";
die( print_r( sqlsrv_errors(), true));
}
$row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
echo "Today is ".$row['today']->format('Y-m-d H:i:s')."";
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
ini_set( "include_path", ini_get( "include_path" ) . ";" . $_SERVER["DOCUMENT_ROOT"] . "/include" );
require_once("adodb5\adodb.inc.php");
$user = "aws_user";
$password = "Q1w2e3r4t5";
$server="192.168.3.86, 1433";
$database = "AWS_Database";
echo "ADODB MSSQL Native connection
";
$adoConnection = ADONewConnection('mssqlnative');
//$adoConnection->debug = true;
$adoConnection->Connect($server, $user, $password, $database);
$rs = $adoConnection->Execute($tsql);
echo "Today is ".$rs->fields['today']."";
$adoConnection->Close();
?>
|
Finally a couple of handy articles on how to configure PHP on IIS:
- Enable Per-Site PHP Configuration on IIS 7 and IIS 6.0
- Using FastCGI to Host PHP Applications on IIS
- Using FastCGI to Host PHP Applications on IIS 6.0
see more here http://www.deepshiftlabs.com/dev_blog/?p=1880&lang=en-us
Labels: php, SQL Server 2008 Express
Tuesday, February 26, 2013
A Basic Example of JQuery's UI.Dialog Dynamically Loading an URL with an IFRAME
0 comments Posted by Duc Nguyen at 6:00 AMsee this link http://clarkupdike.blogspot.com/2009/03/basic-example-of-jquerys-uidialog.html
I have looked at many examples of inserting an iframe into a jQuery UI dialog and have had little success. Then I came across this blog post describing a method that works… function showDialog(){ $("#divId").html('').dialog("open"); $("#modalIframeId").attr("src","http://www.google.com"); return false; } $(document).ready(function() { $("#divId").dialog({ autoOpen: false, modal: true, height: 500, width: 500 }); }); HTML: Show the Dialog
To close a dialog within the iframe use: $(parent.document).find('.ui-dialog'); window.parent.$('#dialogIDname').dialog('close');Saturday, February 23, 2013
Recently I completed a project where I had to show a panel to the left side using JQuery,
on mouse hover it comes out and on mouse leave it goes back. Its seems
to be easy but to maintain the functionality is not that easy.
Here’s a small snippet on how to do it.
HTML
JQuery
jQuery(function($) { $(document).ready(function() { $('#panelHandle').hover(function() { $('#sidePanel').stop(true, false).animate({ 'left': '0px' }, 900); }, function() { jQuery.noConflict(); }); jQuery('#sidePanel').hover(function() { // Do nothing }, function() { jQuery.noConflict(); jQuery('#sidePanel').animate({ left: '-201px' }, 800); }); }); });
demo here http://jsfiddle.net/nirajmchauhan/GPdFk/
Labels: Javascript, jquery
Open command prompts and run these commands one by one on command prompt
- cd /d C:\Windows\Microsoft.NET\Framework\v4.0.30319
- iisreset /stop
- aspnet_regiis -i
- iisreset /start
- %systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll'].allowed:True
- %systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll'].allowed:True
In this post, I will show you how to get the QueryString variable value using jQuery. I have created a function which returns value of any querystring variable.
//Code Starts function GetQueryStringParams(sParam) { var sPageURL = window.location.search.substring(1); var sURLVariables = sPageURL.split('&'); for (var i = 0; i < sURLVariables.length; i++) { var sParameterName = sURLVariables[i].split('='); if (sParameterName[0] == sParam) { return sParameterName[1]; } } } //Code Ends
And this is how you can use this function assuming the URL is, "http://phattrienweb.com/?technology=jquery&blog=jquerybyexample".
// var tech = GetQueryStringParams('technology'); var blog = GetQueryStringParams('blog'); //
OR....
// Read a page's GET URL variables and return them as an associative array. function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; }
var first = getUrlVars()["qid"];
http://phattrienweb.com/