|
Hi Kobus,
I suggest this solution:
use javascript to check ur default value b4 post it to server.
<script type="text/javascript">
var sDropDownList_HP = '<%=DropDownList_HP.ClientID %>';
function validateHospitalDropDownList()
{
var ddlHP = document.getElementById(sDropDownList_HP);
if(ddlHp.selectedIndex<1){
return false;
}
else{
return true;
}
}
</script>
In your asp code: there may be some button click event to post back to server:
I assume u have that button,
<asp:Button ID="Button1" runat="server" OnClientClick="if(!validateHospitalDropDownList())return false;" Text="Submit" />
then add attribute OnClientClick and assign JS function to it, if this function return true, the form will post back
normally, else no post back will occur. you can also add some code to show error msg in the JS function.
Hint: in Data Null case, u can use ISNULL('value that can be null', 'new replace value'); function from SQL.
Hope that works!
|
|
|
|
|
Hi mates,
I have a program in asp.net which will print a report viewer to the default printer. When the user
clicked the print button. It will automatically print to default printer. I'm using the System.Drawing.Printing.PrinterSettings for getting the default printer.
Here's the snippet code:
Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.Click
Try
Dim rptViewer As ReportViewer
rptViewer = New ReportViewer
With rptViewer.LocalReport
.DataSources.Clear()
.ReportPath = Server.MapPath("rptCert.rdlc") '(IM USING RDLC INSTEAD OF CR)
.DataSources.Add(dataSource)
.Refresh()
End With
myRPT= New CustPrint
With myRPT
.Export(rptViewer.LocalReport)
.m_currentPageIndex = 0
.Print()
End With
Catch ex As Exception
log.Debug(ex.ToString)
End Try
End Sub
----CLASS-----
Public Class CustPrint
' Implements IDisposable
Public m_currentPageIndex As Integer
Public m_streams As IList(Of Stream)
Public stName As String
'create steam
Public Function CreateStream(ByVal name As String, ByVal fileNameExtension As String, _
ByVal encoding As Encoding, ByVal mimeType As String, ByVal willSeek As Boolean) As Stream
Dim stream As Stream = New FileStream("C:\" + name + "." + fileNameExtension, FileMode.Create)
m_streams.Add(stream)
Return stream
End Function
'Export
Public Sub Export(ByVal report As LocalReport)
Try
Dim deviceInfo As String = _
"<DeviceInfo>" + _
" <OutputFormat>EMF</OutputFormat>" + _
" <PageWidth>8.5in</PageWidth>" + _
" <PageHeight>11in</PageHeight>" + _
" <MarginTop>0.25in</MarginTop>" + _
" <MarginLeft>0.25in</MarginLeft>" + _
" <MarginRight>0.25in</MarginRight>" + _
" <MarginBottom>0.25in</MarginBottom>" + _
"</DeviceInfo>"
Dim warnings() As Warning = Nothing
m_streams = New List(Of Stream)()
report.Render("Image", deviceInfo, AddressOf CreateStream, warnings)
Dim stream As Stream
For Each stream In m_streams
stream.Position = 0
Next
Catch ex As Exception
Dim inner As Exception = ex.InnerException
While Not (inner Is Nothing)
'MsgBox(inner.Message)
inner = inner.InnerException
End While
End Try
End Sub
'metafile
Public Sub PrintPage(ByVal sender As Object, _
ByVal ev As PrintPageEventArgs)
Dim pageImage As New Metafile(m_streams(m_currentPageIndex))
ev.Graphics.DrawImage(pageImage, ev.PageBounds)
m_currentPageIndex += 1
ev.HasMorePages = (m_currentPageIndex < m_streams.Count)
End Sub
'print
Public Sub Print()
Dim printerName As String = DefaultPrinterName()
If m_streams Is Nothing Or m_streams.Count = 0 Then
Return
End If
Dim printDoc As New PrintDocument()
printDoc.PrinterSettings.PrinterName = printerName
If Not printDoc.PrinterSettings.IsValid Then
Dim msg As String = String.Format("Can't find printer ""{0}"".", printerName)
'Console.WriteLine(msg)
Return
End If
AddHandler printDoc.PrintPage, AddressOf PrintPage
printDoc.Print()
If Not (m_streams Is Nothing) Then
Dim stream As Stream
For Each stream In m_streams
stream.Close()
Next
m_streams = Nothing
End If
End Sub
----FUNCTION ------
Public Function DefaultPrinterName() As String
Dim oPS As New System.Drawing.Printing.PrinterSettings
Try
DefaultPrinterName = oPS.PrinterName
Catch ex As System.Exception
DefaultPrinterName = ""
Finally
oPS = Nothing
End Try
End Function
Unfortunately, this code will work only in the server, instead to the client computer.
I want a solution/way/approach on how to get the client printer? I want to print an rdlc report at any client not only on the server.
Thank you in advance.
C# コードMicrosoft End User
2000-2008
「「「「「「「「「「「「「「「「「「「「「「「「「「「「
The best things in life are free
」」」」」」」」」」」」」」」」」」」」」」」」」」」」
|
|
|
|
|
That isn't how asp.net works. As you have discovered code-behind runs on the server not the client. The only way to use a client resouce such as a printer is to use ActiveX which is troublesome at best.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
i've searched on google with ActiveX and i found a code which will get the printers of server or client which is good.like this
<br />
var server="10.1.254.222"; 'change to client ip<br />
var shell = new ActiveXObject("wscript.shell");<br />
var result = shell.Exec("net view \\\\" + server).StdOut.ReadAll();<br />
var line = new Array();<br />
... and so on.
but the problem of the above code will get the list of printers which are shared.
C# コードMicrosoft End User
2000-2008
「「「「「「「「「「「「「「「「「「「「「「「「「「「「
The best things in life are free
」」」」」」」」」」」」」」」」」」」」」」」」」」」」
|
|
|
|
|
It is generalyy a bad idea to use ActiveX control, they are difficult, cumbersome and prone to security issues. Users can disable them and admins can restritct them. They are also only usable in IE. Make the report available and let the use choose which printer.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Hi
I Was try to get value for label by JavaScript but I got Problem with reading the value it's NULL
|
|
|
|
|
you must be more explicit with your request.
what are you trying to do and what code are you writing,
where is the Label, in master page or in the page, from where are you calling it???
|
|
|
|
|
this is my code
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"><br />
<script type="text/javascript" src="js/timer.js"></script><br />
<script type="text/javascript"><br />
window.onload = WindowLoad;<br />
function WindowLoad(event) {<br />
<br />
ActivateCountDown("CountDownPanel1", document.getElementById('lbltime').value, "CountDownEnded1");<br />
<br />
}<br />
<br />
function CountDownEnded1() {<br />
alert("Time End");<br />
location.reload(true);<br />
}<br />
<br />
</script><br />
<asp:Label ID="lbltime" runat="server" Visible="false"></asp:Label>
I Want to get the text in "lbltime" to my code
|
|
|
|
|
ok, if you notice, you are asking for the value of the Label(lbltime) but it has not a text property which will be the equivalent of "Value".
So what you have to do is something like:
<br />
<asp:Label ID="lbltime" runat="server" Visible="false" Text="sometext"></asp:Label><br />
or if you are assigning a value (Text) from the server side, you must do it before the form call for the javascritp code, in Page_Prerender event.
|
|
|
|
|
El_Programmer wrote: if you are assigning a value (Text) from the server side, you must do it before the form call for the javascritp code, in Page_Prerender event.
What?
You are not even close to what the problem is. JavaScript object do have a Value property.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
i mean if you want to assign any text to your label(lbltime) from the server side, in Page_Load or Page_Prerender.
because when you call your javascript code your label has no text, that is why you are getting and NULL value.
did you get it?
|
|
|
|
|
That is not why the OP is getting a NULL. Read below. Did you get it?
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
ASP.NET adds some name mangling to control ids when they are rendered. The controls are prefixed with the container name such as: Content1_lbltime. Since you are looking specifically for an element with the id lbltime this obviously won't work.
I would strong suggest you use JQuery and something like this
var value = $("id[$='lbltime']").val();
This says to get the element with an id that ends with 'lbltime' and retrieve its value. This will find the control no matter what prefix has been added
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
This code it's work okay in the page with out Masterpage
so the problem is document.getElementById("lbltime").value not work with masterpage
I want code work with masterpage
|
|
|
|
|
Member 7765904 wrote: the problem is document.getElementById("lbltime").value not work with masterpage
That is exactly what I'm saying. Have you tried it? What are you having difficulties with? What don't you understand?
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Hi,
I suggest this solution, it works for me.
in your JS add variable, and assign the ClientID of ur label control.
<script type="text/javascript">
var slbltime = '<%=lbltime.ClientID%>'
window.onload = WindowLoad;
function WindowLoad(event) {
ActivateCountDown("CountDownPanel1", document.getElementById(slbltime).value, "CountDownEnded1");
}
</script>
bcoz when .Net render asp control to html control, they need to give id to it.
if u use asp:label control, the id will transform into 'Master_ct00_lbltime' something like that.
as far as i know, what other member want to say is if u assign value into ur label control from code behind file(.aspx.cs)
u need to do b4 PreRender state of page life cycle.
PreRender is the state b4 the asp:control are actually transform into html control to send it to the web browser.
Hope it works!
|
|
|
|
|
Look at the source code of the webpage when it comes up. The ID of the label is not what you think it is...because of the MasterPage.
|
|
|
|
|
Let me begin by saying I am not fluent in regex. I need a regex that will validate a date AND time value, not just date and not just time...both. I found a regex written by Bernat Sales at regexlib.com that will validate a date AND time entry, however, it only validates it in European formate (dd/mm/yyyy hh:mm:ss). I need it to validate only in American format (mm/dd/yyyy hh:ss:mm). Can someone, out of the goodness of their heart, please modify this regex to accomplish my goal of validating in American format. Here is Bernat's creation from which you can start:
^((((([0-1]?\d)|(2[0-8]))\/((0?\d)|(1[0-2])))|(29\/((0?[1,3-9])|(1[0-2])))|(30\/((0?[1,3-9])|(1[0-2])))|(31\/((0?[13578])|(1[0-2]))))\/((19\d{2})|([2-9]\d{3}))|(29\/0?2\/(((([2468][048])|([3579][26]))00)|(((19)|([2-9]\d))(([2468]0)|([02468][48])|([13579][26]))))))\s(([01]?\d)|(2[0-3]))(:[0-5]?\d){2}$
Again, I am not a regex guru, nor do I plan to be. I just need this regex for a current page I'm writing. Thanks in advance.
|
|
|
|
|
|
Thanks for the search suggestion, but that is to the site where I found Bernat's regex by searching already. His is the closest I found to what I need (it only needs to swap the month and date tests).
When I have time (won't for a month), I'll check out the tool to which you sent me a link.
|
|
|
|
|
Here you can use it
Will detect American Date and time with whitespace
RegExp: /[\d]{2}\s[\d]{2}\s[\d]{4} [\d]{2}:[\d]{2}:[\d]{2}/g
|
|
|
|
|
Thanks, but that won't validate February or 30 versus 31 days properly.
|
|
|
|
|
Hey guys, as some of you have seen, i've been making some ASP.NET questions here, because i'm about to start my own company based on a business model i have.
The thing is, I don't have the enough knowledge in ASP.NET in order to do such a huge project (And neither in PHP), my brother is an ASP.NET C# Senior, but he's pretty busy with his job and carrier, so the help he can provide is closely to be NULL.
What i meant to say, is that I need to cover all i can with this, and there's no chance to have holes in the system, i know that every system isn't impossible to hack (not even NASA), but at least, don't leave it that easy to do so.
The project requires a very good knowledge of Internet Security and Payment System, since it will be an Online game site never seen on market.
A web developing company where a friend of mine works, offered me to develope my project under confidentiallity contracts and stuff in PHP and Apache/Oracle.
(The money at this point is not a problem since my lawyer will be also my investor)
Didn't know where to post this, since if I post it in PHP section, all the people will say "Nooo! PHP is better" or here "Nooo! ASP.NET is better", i need a professional answer if possible, i've been making a Google Search about this, and all the forums says the same, there's a lot of people who says that PHP is better and why, and the same applies for ASP.NET, I really don't know what to do!!
Is PHP secure enough to handle such a big project?
I need:
- Flexibility
- Security
- Performant system
Hope this is the right place to post this,
Thanks in advance,
My best regards,
Marian, from Argentina.
|
|
|
|
|
The correct forum for this is probably "Web Development".
My Advice: PHP will handle it, but you might find the going hard, depends upon what exactly it is you are doing. ASP.NET will probablyhandle it to. If you architect the system correctly, the font-end will matter much less.
I suggest you find PHP & ASP devs you can trust and chat with them about your requirements. You'll need some good advice to secure the system also, this is very hard.
|
|
|
|
|
Exactly, the web developer company will make the website, they got PHP and ASP.NET programmers, so i can totally decide. I'm an application programmer... so i can't take a risk by doing such a project by my own. I need a professional hand to do it.
Thanks for replying!
Marian.
|
|
|
|