【问题标题】:Add html content to Microsoft SQL Server database asp net将 html 内容添加到 Microsoft SQL Server 数据库 asp net
【发布时间】:2014-02-17 06:46:44
【问题描述】:

我想将 html 内容添加到 SQL Server 数据库中。

例如,在标签上显示位置坐标,单击按钮后将添加到 SQL Server 中。我已经走了这么远,但每次我点击按钮时,它都会添加到数据库中为空,而不是坐标。

我会给出源代码...

默认.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div id="tripmeter" runat="server">
        <p runat="server">
            Starting Location (lat, lon):<br />
            <span id="startLat" runat="server"></span>&deg;, <span id="startLon" runat="server"></span>&deg;
        </p>
        <p runat="server">
            Current Location:<br />
            <label id="currentLat" runat="server"></label>&deg;, <span id="currentLon" runat="server"></span>&deg;
        </p>
        <p runat="server">
            Distance from starting location:<br />
            <span id="distance" runat="server">0</span> km
        </p>
        <input id="Button1" type="button" value="button" runat="server" onserverclick="MySubmitHandler" />
    </div>
    <script>
        window.onload = function () {
        var startPos;

        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function (position) {
                startPos = position;
                document.getElementById("startLat").innerHTML = startPos.coords.latitude;
                document.getElementById("startLon").innerHTML = startPos.coords.longitude;
            }, function (error) {
                alert("Error occurred. Error code: " + error.code);
                // error.code can be:
                //   0: unknown error
                //   1: permission denied
                //   2: position unavailable (error response from locaton provider)
                //   3: timed out
            });

            navigator.geolocation.watchPosition(function (position) {
                document.getElementById("currentLat").innerHTML = position.coords.latitude;
                document.getElementById("currentLon").innerHTML = position.coords.longitude;
                document.getElementById("distance").innerHTML =
                  calculateDistance(startPos.coords.latitude, startPos.coords.longitude,
                                    position.coords.latitude, position.coords.longitude);
            });
        }
    };
    function calculateDistance(lat1, lon1, lat2, lon2) {
        var R = 6371; // km
        var dLat = (lat2 - lat1).toRad();
        var dLon = (lon2 - lon1).toRad();
        var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
                Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) *
                Math.sin(dLon / 2) * Math.sin(dLon / 2);
        var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
        var d = R * c;
        return d;
    }
    Number.prototype.toRad = function () {
        return this * Math.PI / 180;
    }
    </script>
    </form>
</body>
</html>

默认.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data.SqlClient;
using System.Configuration;

public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void MySubmitHandler(object sender, EventArgs args)
    {
        try
        {
            SqlConnection lidhje = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
            lidhje.Open();
            string fut = "insert into Test (lat) values (@lat)";
            SqlCommand komande = new SqlCommand(fut, lidhje);
            komande.Parameters.AddWithValue("@lat", currentLat.InnerText);

            komande.ExecuteNonQuery();
            Response.Write("Success");

            lidhje.Close();
        }
        catch (Exception ex)
        {
            Response.Write("Error:" + ex.ToString());
        }
    }
}

【问题讨论】:

    标签: c# html asp.net sql-server


    【解决方案1】:

    在您的数据库中设置数据类型文本;

    例如:

        create table temp(
        linkId int(10) PRIMARY KEY,
        htmlValue Text(200) NULL); // this will store your data in HTML format.
    

    【讨论】:

    • ntexttextimage 数据类型将在 SQL Server 的未来版本中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用nvarchar(max)varchar(max)varbinary(max)See details here
    • 那又怎样,如果是的话,那么 DB 会用 NOSQL 来改变,或者 BIG DATA 问题是用 hadoop 和更高的技术来实现的......
    猜你喜欢
    • 1970-01-01
    • 2012-10-14
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    • 1970-01-01
    相关资源
    最近更新 更多